我正在通过 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) 有效,但更新无效。