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]
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」で機能するかどうかはわかりませんが、どういたしましてそれを試してみてください。