5

access_tokenと対応するrefresh_tokenを認証してフェッチできます(後続のAPIインタラクションも問題ありません)。

ただし、実際に有効期限が切れるにしかトークンを更新できないようです(POSTto /oauth/tokenwith grant_type=refresh_token) 。有効期限が切れると、同じ更新コード(ドキュメント内で提供されているものとまったく同じ)がエラーで返されます。access_tokeninvalid_grant

私はsoundcloud-rubySDK、FWIWを使用していますが、curlを使用して再現できます。

余談ですが、有効期限が切れていないトークンをリクエストできるというGoogleグループからの古いメッセージがいくつか見つかりましたが、ドキュメントのどこにもこれが記載されていません。これはまだ実行可能なオプションですか?

4

1 に答える 1

1

それは正しいです。アクセストークンの有効期限が切れると、更新トークンは使用できなくなります。

scope=non-expiring承認URLを作成するときに指定することで、有効期限が切れていないアクセストークンを要求できます。authorize_urlRuby SDKでこれを行うには、追加のパラメーターをメソッドに渡すだけです。

require 'soundcloud'

client = Soundcloud.new(
  :client_id => 'YOUR_CLIENT_ID',
  :client_secret => 'YOUR_CLIENT_SECRET',
  :redirect_uri => 'REDIRECT_URI'
)

client.authorize_url(:scope => 'non-expiring')

残りのフローは完全に同じである必要があります(クエリ文字列から「code」パラメータを取得し、にPOSTリクエストを送信します/oauth2/token)。

于 2012-10-25T15:50:17.477 に答える