これがばかげた質問だったら許してください、初心者プログラマーです。
Rails 3.2.14 アプリで Soundcloud API を使用してユーザーを認証しようとしています。次のように、Soundcloud 開発者ドキュメントから直接コードを使用しています。
client = Soundcloud.new(
:client_id => 'MY_CLIENT_ID',
:client_secret => 'MY_CLIENT_SECRET',
:redirect_uri => 'http://localhost:3000/auth/soundcloud/callback'
)
# redirect user to authorize URL
redirect_to client.authorize_url(:scope => 'non-expiring')
そして、コールバック URI を取得すると:
client = Soundcloud.new(
:client_id => 'MY_CLIENT_ID',
:client_secret => 'MY_CLIENT_SECRET',
:redirect_uri => 'http://localhost:3000/auth/soundcloud/callback'
)
# exchange authorization code for access token
code = params[:code]
access_token = client.exchange_token(:code => code)
すべて正常に動作します (アプリにアクセス許可を与えるために Soundcloud ページに移動します) が、コールバック URI に送り返されると、次のエラーが表示されます。
SoundCloud::ResponseError at /auth/soundcloud/callback
HTTP status: 401 Unauthorized Error: invalid_grant
私は明らかにこれをグーグルで検索しましたが、行われた唯一の提案は、トークンの有効期限が切れているということでした. 私は後で access_token を再利用しているのではなく、最初の認証を行っているだけなので、私には意味がありません。念のため、Soundcloud にリダイレクトするときに scope => non-expiring パラメータを含めましたが、違いはありませんでした。
助言がありますか?最近、Rails と Soundcloud の統合に成功した人はいますか? 私が見つけたすべてのリソースはかなり古くなっているようです。