0

我在使用 rt-client gem( link ) 时遇到问题,因为它不断返回“RT/4.0.8 401 Credentials Required”。这个站点的 REST 接口正在工作,因为我有一些 perl 脚本目前正在以类似的方式使用它。

测试.rb

#!/usr/bin/env ruby

require 'rt/client'

rt = RT_Client.new
id = rt.create( :Queue => "General",
                :Subject => "Test",
                :Requestor => "test@example.org",                                                                                                                                                                                                                               
                :Text => "Ignore me" 
              )   

.rtclientrc

server=http://example.org/
user=exampleuser
pass=examplepass
cookies=tmp

版本

Gem Version: rt-client-0.5.0
RT Version: 4.0.8
Ruby Version: 1.9.3p327

输出

Payload for new ticket:
------xYzZY492386xYzZY
Content-Disposition: form-data; name="content";

Queue: General
Subject: Test
Requestor: test@example.org
Text: Ignore me
id: ticket/new
------xYzZY492386xYzZY--
"RT/4.0.8 401 Credentials required\n"

当我在 test.rb 的底部执行“puts id.inspect”时,我看到了错误,因为没有创建票证。

这可能是处理 cookie 的问题吗?如果可能,我试图避免在 Net::HTTP 中编写自定义解决方案,但如果这仍然很麻烦,我会走这条路。

4

1 回答 1

0

rt-client ruby​​ gem 的作者在这里。

前段时间解决了这个问题,我知道这是旧的,但它在谷歌搜索中排名很高。如果有人发现这个问题仍然存在 rt-client 问题,那么 gem 现在在 github.com 上。如果您愿意,请克隆它,进行修复并向我发送拉取请求。

https://github.com/uidzip/rt-client

于 2017-09-05T00:18:00.903 回答