我正在通过使用 Pocket API 构建 Rails 应用程序来测试 RoR,我必须授权用户。对于 HTTP 请求,我使用https://github.com/rest-client/rest-client库。
第一步,获取请求令牌工作正常:
require 'rest_client'
response = RestClient.post 'https://getpocket.com/v3/oauth/request', :consumer_key => @consumer_key, :redirect_uri => @redirect_uri
@code = response.split("=")[1]
但是我在第二步得到了一个 Bad Request 错误,即使用上面步骤中收到的请求令牌获取访问令牌:
access_token = RestClient.post 'https://getpocket.com/v3/oauth/authorize', :consumer_key => @consumer_key, :code => @code
400 Bad Request 是我在 Ruby 应用程序错误屏幕上得到的。我也尝试了使用 cURL 和 POSTMan Chrome 扩展的相同请求,然后我得到的状态码是:403 Forbidden。我得到的 X 错误代码是 158,它转换为 X 错误消息“用户拒绝代码”。关于 Pocket API 文档: http: //getpocket.com/developer/docs/authentication。
由于我尝试了几个不同的通道来测试这个请求并且每次都失败,我猜测问题不在于解析,而是我可能遗漏了一个重要的细节或步骤(可能是 HTTP 请求标头?)。提前感谢您的帮助!