2

Rails アプリでomniauth + joyboneを使用して 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 ドキュメントを検索してきましたが、答えが見つからないようです。Jawbone のドキュメントでは、認証エラーは「リクエストには認証されたユーザーが必要であり、ユーザーがログインしていません」という意味であると書かれています。トークンを持っていても、OAuth 経由でログインしても実際にはログインしないのでしょうか?

助けてくれてありがとう!私はこれに苦労してきました。

4

2 に答える 2

0

これを試すことができます{ "Authorization: Bearer " => "#{token}"}

Bearer の後に余分なスペースを追加しました。このような問題があり、余分なスペースを入れなければなりませんでした。更新された API を使用する必要があるもう 1 つのこと: " https://jawbone.com/nudge/api/v.1.1/users/@me/moves "

于 2014-06-11T10:05:28.637 に答える