我正在通过API写Uservoice文章。我使用以下代码编写:
data = {
:article =>
{
:question => question_name,
:answer_html => html,
:published => true
}
}
site = "http://myapp.uservoice.com"
puts "Remote site = #{site}"
consumer = OAuth::Consumer.new(APP_CONFIG["uservoice"]["key"],
APP_CONFIG["uservoice"]["secret"],
{:site => site})
accesstoken = OAuth::AccessToken.new(consumer,
user.helpdesk["uservoice"]["oauth_token"],
user.helpdesk["uservoice"]["oauth_token_secret"])
response = JSON.parse(accesstoken.post("/api/v1/articles.json", data).body)
flow.uservoice_id = response['article']['id']
flow.save!
puts "Save successful at #{response['article']['url']}"
这很有效。但是当我想进行更新时,PUT
,
response = JSON.parse(accesstoken.put("/api/v1/articles/#{article_id}.json", data))
我得到了
{"errors"=>{"type"=>"unauthorized", "message"=>"Admin required: Not signed or not admin. Unverified; Signature verification failed; User not signed: oauthenticate failed"}}
作为回应。我也是管理员。写入(POST)有效,但更新没有。
答案 0 :(得分:0)
不要忘记以管理员(或所有者)身份登录。
accesstoken.login_as_owner do |owner|
posted_response = owner.post("/api/v1/articles/#{article_id}.json", data)
end
上查看“获取帐户所有者的访问令牌并发布回复”部分