0

js api を介してユーザーの拡張トークンを取得することは可能ですか?

単一のクエリで複数のユーザートークンを取得するのはどうですか?

このようなトークンを取得します。

https://graph.facebook.com/oauth/access_token?client_id=xxx&client_secret=xxx&grant_type=fb_exchange_token&fb_exchange_token=".$u[token]

4

1 に答える 1

0

ajax リクエストはドメインに限定されているため (クロスドメイン セキュリティ ポリシー)、その URL に ajax リクエストを発行することはできませんが、facebook の javascript sdk を使用できる可能性がありますが、それが機能するかどうかはわかりません。

何かのようなもの:

FB.api("oauth/access_token", "get", {
    client_id: xxx,
    client_secret: xxx,
    grant_type: "fb_exchange_token",
    fb_exchange_token: currentToken
}, function(response) {
    console.log(response);
});

これが機能したとしても、リクエストにアプリ シークレットを含める必要あるため、これを使用する必要はありません。また、クライアント側からこれを行う必要があるため、アプリ シークレットが実際にはシークレットではなくなることを意味します。 .

また、それを行うポイントは何ですか?ユーザーがアプリを操作している限り、無効なアクセス トークンと期限切れのアクセス トークンの処理に記載されている内容をそのまま使用できます。

Javascript SDK で認証を実装するデスクトップ Web およびモバイル Web アプリ

FB.getLoginStatus() を呼び出すか、FB.init() を呼び出すときに status: true が設定されていることを確認することは、次回ユーザーがアプリケーションにアクセスして Facebook にサインインしたときに、これらの呼び出しの結果として渡される authResponse オブジェクトを意味します。新しい有効なアクセス トークンが含まれます。

この場合、ユーザーがアプリケーションを使用して暗黙的に新しいアクセス トークンを生成するという単純な行為です。

あなたの他の質問については、Facebook APIにはBatch Requestsと呼ばれるものがあり、1回のリクエストでいくつかのAPIクエリを作成できますが、相対パス「oauth/access_token」で機能するかどうかはわかりませんが、どういたしましてそれを試してみてください。

于 2012-04-14T10:37:33.390 に答える