ユーザーが自分のFacebookファンページを管理できるアプリを作成しています。これには、次の2つのアクセストークンが必要です。
私は、ユーザーアクセストークンに精通していますが、ページアクセストークンには精通していません。
ページアクセストークンの有効期間を知っている人はいますか? FacebookのWebサイトで見つけることができるのは、 この簡潔な段落 だけです。
offline_access
権限でユーザーアクセストークンをリクエストしている場合、ページアクセストークンも無期限に継続すると想定できますか(ユーザーがパスワードを変更するか、アプリを手動で認証解除しない限り)。
Facebook Graph APIを照会してページアクセストークンを取得する頻度を知りたいので、質問しています。ユーザーが登録したときに一度だけ要求する必要がありますか?または、それらが絶えず変化する場合、APIコールごとに1つ要求する必要がありますか?後者は明らかに負担が大きいです!
ページトークンは、ページトークンが生成されたユーザーのアクセストークンの有効期限が切れると失効します。 編集6.28.2013:ユーザーアクセストークンを拡張する で、新しい ページアクセストークン を取得する場合=ユーザーの場合、ユーザーがアプリの認証を解除しない限り、そのページトークンは期限切れになりません。
オフラインアクセスは廃止されましたが、アクセストークンを60日間まで延長できます。ユーザーのアクセストークンを拡張すると、そのユーザーアカウントから生成されたページトークン 有効期限も一致するように延長されます 有効期限はありません(2013年6月28日編集)。ページトークンの値は拡張後に変更される可能性があるため、ユーザートークンを拡張した後は、ユーザーの/accounts
グラフ接続から新しいページトークンを取得してください。
これらのアクセストークンは1日に1回拡張し続けることができます。そのため、ユーザーがアプリを操作するたびにアクセストークンを再生成する必要があります。
https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokenshttps://developers.facebook.com/docs/facebook-login/ access-tokens /#extendinghttps://developers.facebook.com/docs/facebook-login/
https://developers.facebook.com/roadmap/offline-access-removal/https://developers.facebook.com/blog/post/2011/ 05/13/how-to--handle-expired-access-tokens /
ページアクセストークンを拡張して、期限切れにならないようにすることができます。ドキュメントは少し濁っていますが、以下のページには関連情報があり、明らかにページの管理者である必要があります。 2番目のリンクのシナリオ4および5に細心の注意を払ってください。
https://developers.facebook.com/docs/reference/api/page/#page_access_tokenshttps://developers.facebook.com/roadmap/offline-access-removal/# page_access_token
グラフエクスプローラーを使用してFacebookからトークンを取得するのは簡単です。グラフエクスプローラーでは、有効期限を一覧表示するトークンをデバッグすることもできるため、有効期限が切れないことを確認できます。グラフエクスプローラー: https://developers.facebook.com/tools/Explorer
Get Access Tokenボタンをクリックして、トークンを取得します。クエリバーにIDを保持し、IDに/ accountsを追加するだけで、次のようになります:/123456789101112/accounts
。 GETリクエストであることを確認します(クエリバーの左側のドロップダウン)。
これにより、使用するように構成されているすべてのページが取得されます。次に、GET要求を行う必要があります。
/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
APP_IDおよびAPP_SECRETは、アプリケーション管理設定で確認できます。個人用アクセストークンを最後のパラメーター(EXISTING_ACCESS_TOKEN)として使用します。これにより、60日間の個人アクセストークンが返されます。このトークンを、クエリバーの上にあるアクセストークンバーにコピーします。最初に行ったように、USER_ID/accountsに対してGETリクエストを作成します。これにより、作業するように構成されているページのリストが再び返されます。
ただし、今回は、ページとともにリストされているページトークンの有効期限はありません。これを確認するには、ページトークンをアクセストークンバーにコピーし、[デバッグ]ボタンをクリックします。これにより、有効期限など、このアクセストークンの詳細が表示されます。
[〜#〜] update [〜#〜]
また、Facebookのグラフエクスプローラーはユーザーコンテキストと混同されることがあり、常に信頼できるとは限らないこともわかりました。選択肢は Fiddler または Postman です。
Facebookがこれらのバグを修正するために変更を加えたかどうかはわかりませんが、ページアクセストークンがユーザーに付与されると、ユーザーアクセストークンは期限切れにならないようです。私のテストに基づいて、フローは次のようになります。
これでここでの混乱の一部が解消されることを願っています。私たちのアプリでは多くの異なるユーザーでこれをテストしましたが、毎回同じことがわかります。
ページアクセストークンが要求されない場合、元のユーザーアクセストークンは60日後に期限切れになります。
Facebookページのアクセストークンは、ページの管理者として「ユーザーになりすます」ことを除いて、ユーザーアクセストークンと非常に似ています。
Offline_access権限がアプリに付与されている場合、ページaccess_tokenは期限切れになりません(ユーザーがパスワードを変更するか、アプリを手動で認証解除しない限り)
次のリンクを使用して、発行されたアクセストークンの詳細を確認します。
offline_access
は廃止されました。別の質問で説明します ページアクセストークンを拡張する方法 。
問題に関するFacebookのドキュメント(長命のページアクセストークン)は、実際に起こることと一致しません。ドキュメントは、拡張/長期ユーザーアクセストークンを介して取得されたページアクセストークンが期限切れになることはないと主張しています。ただし、実際には、これらのページアクセストークンは60日で有効期限が切れます。
Facebookのバグを参照してください: http://developers.facebook.com/bugs/461517520524921
これを参照してください https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token これによると、短時間のアクセストークンを取得し、それを長時間のライブアクセストークンに拡張しますこれは、ページアクセストークンだけでは無効になりません。シナリオ5:ページアクセストークンを参照してください
ユーザーのアクセストークンの有効期限が切れると、ページアクセストークンの有効期限が切れます。ページアクセストークンを長持ちさせるために、ユーザーアクセストークンを最大60日間まで延長できます。
my blogを確認し、拡張アクセストークンを取得し、ファンページアクセストークンも取得する手順を追って説明します。