我正在通过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)可以,但更新不行。
发布于 2014-06-27 07:22:59
不要忘记以管理员(或所有者)身份登录。
accesstoken.login_as_owner do |owner|
posted_response = owner.post("/api/v1/articles/#{article_id}.json", data)
end在https://developer.uservoice.com/docs/api/ruby-sdk/上查看“获取帐户所有者的访问令牌并发布响应”部分
https://stackoverflow.com/questions/18285641
复制相似问题