我正在尝试使用omniauth + jawbone在我的Rails应用程序中访问Jawbone API。我有一个为用户启动OAuth登录的按钮,并且我在我的数据库上使用一个令牌和一个刷新令牌为该用户创建了一个用户模型。(自从我获得用户的信息后,Jawbone的OAuth似乎可以正常工作了)。
然后,在用户通过Jawbone登录后,我用给我的用户令牌用HTTParty查询Jawbone API,但我得到了以下错误:
{"meta"=>{"code"=>401, "error_detail"=>"You must be logged in to perform that action", "error_type"=>"authentication_error", "message"=>"Unauthorized"}, "data"=>{}}我用于查询Jawbone API的代码是:
token = current_user.token
@result = HTTParty.get('https://jawbone.com/nudge/api/v.1.0/users/@me/moves',
:headers => { "Authorization: Bearer" => "#{token}"}
)我在Jawbone API documentation上找了很久,但似乎找不到答案。在Jawbone文档中,它说身份验证错误意味着“请求需要经过身份验证的用户,但没有用户登录”。那么,即使我现在有了令牌,通过OAuth登录实际上也不能让他们登录吗?
谢谢你的帮助!我一直在努力解决这个问题。
发布于 2015-07-13 19:15:03
对于那些苦苦挣扎的人来说,这并不是
{ "Authorization: Bearer" => "{{token}}" }
正确的标头是
{ "Authorization" => "Bearer {{token}}" }
这是一个有效的code。
发布于 2014-06-11 18:05:29
你可以试试这个{ "Authorization: Bearer " => "#{token}"}。
我在Bearer后面加了一个额外的空格。我遇到了这样的问题,我不得不放一个额外的空间。还有一件事你应该使用更新的api:"https://jawbone.com/nudge/api/v.1.1/users/@me/moves“
https://stackoverflow.com/questions/24027987
复制相似问题