10

60 日間のアクセス トークンを延長することはできますか? ユーザーがあなたのサイトにアクセスすると、延長できるとどこかで読みましたか? (さらに 60 日間)? これは同じトークンですか、それとも完全に新しいトークンですか?

基本的には、以前のように offline_access が必要です。ユーザーの Facebook ウォールを自分のサイトに表示する小さな jquery スクリプトがあります。

私もこれを読みました:

「新しいトークンを取得するには、60 日以内にユーザーに再認証を求める必要があります。」 --- いいえ。publish_stream が許可されている限り、ユーザーのトークンは必要ありません。ユーザーがアプリケーションを削除するまでは、アプリ リスト - 100 年後でもメッセージを投稿できます。したがって、アプリのキーとシークレットに加えてトークンを永続化する理由はありません – zerkms 4 月 5 日 9:02"

これは本当ですか?明らかに、公開権限は必要ありません。ストリームの読み取り権限のみが必要です。

- アップデート:

FB からの引用:

「まだ有効な長命の access_token を更新したい場合は、最初に新しい短命のユーザー access_token を取得してから、以下の同じエンドポイントを呼び出す必要があります。返された access_token には新しい長命の有効期限がありますが、 access_token 自体は、以前に付与された有効期間が長い access_token と同じである場合もあれば、異なる場合もあります」

では、まったく新しいトークンを取得するにはどうすればよいのでしょうか? FB.login メソッドは、既存の (有効期限が切れていない) トークンを返すだけです。何か案は?

4

4 に答える 4

3

アクセストークンの有効期限延長利用については、

https://graph.facebook.com/oauth/access_token?             
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN 

詳細については、http://developers.facebook.com/roadmap/offline-access-removal/をご覧ください。

于 2012-09-24T05:50:15.050 に答える
2

いいえ。トークンパスを60日間延長することはできません。延長できるのは短命のトークンのみであり、延長すると、60日間の長命のトークンを取得できます。

すべての権限を持つこともできますが、有効なアクセストークンがない限り、APIリクエストを行うことはできません(もちろん、例外が発生する可能性があります)。

クライアント側(そしてそれを拡張する)かサーバー側か、60日トークンをどのように取得するかはわかりませんが、offline_access権限の削除の公式投稿によると:

シナリオ3:サーバー側のOAuth開発者

..。

そのユーザーに有効な長期間有効なユーザーaccess_tokenがまだ存在する間に呼び出しが行われた場合、この2番目の呼び出しから返されたユーザーaccess_tokenは同じであるか、変更されている可能性がありますが、いずれの場合も有効期限はlongに設定されます。有効期限。

または

シナリオ4:クライアント側のOAuthと新しいエンドポイントによるAccess_Tokenの有効期限の延長

...。

エンドポイントは、短期間のユーザーaccess_tokensを拡張するためにのみ使用できることに注意してください。有効期限が長いaccess_tokenを渡すと、エンドポイントは、有効期限を変更または延長することなく、同じaccess_tokenを返すだけです。

..。

于 2012-05-22T09:46:51.677 に答える
1

PHP SDK を使用して、次のコードを使用できます。

$extendedToken = $facebook->setExtendedAccessToken();
$token = $facebook->getAccessToken();
print_r($token);

ユーザーがログインし、必要な権限を付与した後。Graph API 呼び出しを使用するだけで、Page などの他の拡張アクセス トークンを取得することもできます。

$facebook->api('<PAGE_ID>?fields=access_token');

これにより、ページの拡張アクセス トークンが返されます。manage_page パーミッションを要求した場合。

于 2012-09-25T07:03:14.567 に答える
0

Sujathan は正しいです - 変更後に何をすべきかを文書化した Facebook ページがあります: http://developers.facebook.com/roadmap/offline-access-removal/

次の URL に get リクエストを送信します。

https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN

また、これは重複しているように見えます: Offline_access deprecation 以降、アクセス トークンの有効性を拡張する方法

于 2012-09-26T02:47:22.340 に答える