1. ホーム
  2. facebook

[解決済み] FBページの情報を取得するサーバーのための長期的なFBアクセストークン

2022-09-14 16:06:59

質問

Facebook のアクセストークンについて、多くの質問があることは承知しています。しかし、多くの実験を行い、多くの曖昧なブログ記事 (FB など) を読んでも、私のニーズに対する明確な答えを得るために、まだ苦心しています。私のこれまでのプロセスを簡潔に説明します。

  • サーバー側で、1 つの Facebook ページから投稿/ステータスを取得する必要があるサイトを作成しています。
  • 私はその Facebook ページの管理者です。
  • 私はFacebookアプリを作成しました
  • を使用して Facebook Graph APIエクスプローラ を使用して、私のアプリと私のアカウントに接続された短命のキーを生成し、私のアカウントに私のページのアクセス トークンを表示する権限を付与しました。
  • 短期間のキーを長期的なキー(60日間)に変換しました(シナリオ4)。 この

そして、ここで私は行き詰ってしまいました。私の 60 日間のキーは、ページから必要な情報を引き出すために私のサーバーでうまく機能しますが、私が知る限り、その 60 日間のキーをプログラムによって拡張する方法はありません。また、手動で Facebook Graph API Explorer に行ってキーを作成することなく、新しい短命のキーを生成する方法も知りません。

Facebook API へのリクエストを行うのは私のサーバーであり、ユーザー ベースのシステムではないため (ユーザーが Facebook アプリを再度承認するよう簡単に要求できる)、これは非常に不便なシステムを作り出しています。Facebook が非推奨とした offline_access を非推奨としたため、サーバーに自分のページからの情報を取得させる永久的な方法はないのでしょうか?新しいキーを手作業で作成し、60 日ごとにサーバーを手動で更新する必要があるのでしょうか?

それとも、私が見逃している何かがあるのでしょうか?

更新しました。

以前はここにあったステップバイステップ ガイドは、独自の 回答 .

どのように解決するのですか?

<ブロッククオート

これらは、以前質問にあった手順で、この回答に移行されました。

有効期限のないFacebookページアクセストークンを生成することが可能であることがわかりました(@Igyの助けによる)ので、同じことを探しているすべての人のための明確なステップバイステップのガイドを示します。

  1. 情報を取得したい FB ページの管理者であることを確認します。
  2. FBアプリを作成します(ページ管理者と同じユーザーアカウントで作成する必要があります)。
  3. アプリを起動し Facebook Graph API エクスプローラー
  4. 右上の "Application" ドロップダウンリストから、作成した FB App を選択します。
  5. アクセストークンを取得するをクリックします。
  6. 必ず manage_pages を許可してください。
  7. このGraph APIコールを行うことで、この短命なアクセストークンを長命なものに変換します。 https://graph.facebook.com/oauth/access_token?client_id=<your FB App ID >&client_secret=<your FB App secret>&grant_type=fb_exchange_token&fb_exchange_token=<your short-lived access token>
  8. 返された新しいアクセストークンを取得します。
  9. Graph APIを呼び出して、新しいlong-livedアクセストークンを使ってアカウントを確認します。 https://graph.facebook.com/me/accounts?access_token=<your long-lived access token>
  10. アクセスポイントを取得するために access_token から情報を取得します。
  11. リント に設定されていることを確認するため、トークンを Expires: Never !

これで完了です。これで、有効期限のないFacebookページアクセストークンを手に入れたはずです。

  • Facebookアカウントのパスワードを変更した場合
  • 対象ページの管理者権限を失った
  • Facebookアプリを削除または認証解除した場合

これらのいずれかを行うと、アクセストークンが無効となります。

もし (#100) Tried accessing nonexisting field (accounts) on node type (Page) に移動してください。 アクセストークンデバッガー の値をコピーします。 User ID の値をコピーし、手順9でURLの"me"の部分を置き換えるために使用します。