2

node.js(Express)アプリ内でJavascriptSDKを使用しています。

ユーザーの接続は正常に機能しますが、ページの再読み込み間で接続が維持されません。これはデフォルトの動作ですか、それともユーザーは新しいリクエストで接続を維持することになっていますか?

OAuthトークン認証を使用する必要がありますか?使用する場合、JS-SDKでこれをどのように行うことができますか?ただし、「権限」-ポップアップの内部では、ユーザーはすでにsoundlcoudでログインしています。(毎回「接続」ボタンをクリックする必要があります)

4

2 に答える 2

3

自動化されたoauthの現在の回答に満足していない人のために、私の回答を共有すると考えました。

access_tokenの取得:

取得および設定Cookie関数を定義する必要があり、次にその関数を使用して、アクセストークンを保持する関数を設定および取得します。簡潔にするためにこれらの関数を提供するつもりはありませんが、グーグル検索で簡単に見つけることができます。次に、このコード行を使用してSCアクセストークンを取得します(ユーザーが初めて認証された後)

SC.accessToken()

トークンの設定:

ですから、これは私の意見では、部屋の中の象のようなものであり、何らかの理由で誰も言及していません。****では、アクセストークンを使用してSCとどのように接続しますか?oauth paramとして設定しますか?呼び出しごとにそれを渡しますか?さて、私が考えることができるすべての場所にパラメータを配置して実験した後、私はあなたがこのようなことをしなければならないことに気づきました:

            SC.initialize({
              client_id: '[removed for security reasons]',
              client_secret: '[removed for security reasons]',
              redirect_uri: '[removed for security reasons]',
              access_token: getCookie("sc_lm2"),
              scope: 'non-expiring'
            }); 
//Where "sc_lm2" is the name of my cookie

お役に立てば幸いです。こんなに簡単なことでこれを理解するのに少し時間がかかりました

編集

PHPとWordpressの使用:

$json = wp_remote_get("http://api.soundcloud.com/users/[user_id]/tracks.json?client_id=[client_id]");
$soundcloudData = json_decode($json['body'],true);

(Wordpressを使用していない場合は、cURL機能に置き換えてください)。@kraftyエンドポイントを「/tracks」から「/users」に変更するだけだと思いますが、SoundcloudAPIを使用してトラック以外のものを取得する必要が本当にあったとは言えません。これがお役に立てば幸いですが、あなたが何を達成しようとしているのか(というより、正確にどの程度達成しようとしているのか)を完全に理解しているとは言えませんが、ユーザーログインを許可しようとしていますか?あなたが達成しようとしていることとあなたが取っているステップを完全に説明したいのであれば、私はそれを試してみてください。

于 2013-09-20T19:47:36.717 に答える
2

うん、これは公式にそれを行う方法です。:)

Next SoundCloudサイトでは、トークンをlocalStorageに保存します(もちろん、ユーザーがログアウトするまで)。フロントエンドからAPIへの各AJAXリクエストで、リクエストヘッダーにoauthトークンを配置します。

jqXHR.setRequestHeader('Authorization', 'OAuth ' + the_oauth_token);
于 2012-06-20T16:40:04.443 に答える