web-dev-qa-db-ja.com

Facebook APIを呼び出すときに「(#100)ページのパブリックコンテンツアクセスには、アプリの秘密証明またはアプリトークンが必要」という問題が発生しますか?

ユーザーのFacebookアカウントと同期し、Facebookページの情報を取得するアプリを開発しています。最初に、アプリはFacebookでのログインを要求し、ページリストを取得します。ページを取得した後、各ページに関連付けられた投稿を取得するためにAPIを呼び出しています。投稿の詳細を取得したら、インサイトAPIを呼び出して各投稿のインサイトを取得します。このフローは開発モードで問題なく機能しますが、ライブモードに切り替えると次のエラーが発生します

      Client error: `GET https://graph.facebook.com/v4.0/100575944711552/feed` resulted in a `400 Bad Request` response:{"error":{"message":"(#100) Pages Public Content Access requires either app secret proof or an app token","type":"OAuthE (truncated...)
 {"userId":1,"email":"[email protected]","exception":"[object] (GuzzleHttp\\Exception\\ClientException(code: 400): Client error: `GET https://graph.facebook.com/v4.0/100575944711552/feed` resulted in a `400 Bad Request` response:
{\"error\":{\"message\":\"(#100) Pages Public Content Access requires either app secret proof or an app token\",\"type\":\"OAuthE (truncated...)

私が観察した詳細から、使用中にこのエラーが発生しています、

GET /v5.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com

このエンドポイント。現在、2つの権限が承認されています。1。manage_pages 2. read_insightsおよびアプリレビューチームは、リクエストが無効であるという2つの権限を拒否しました。この使用例では、1.Page Mentions 2. user_postsは必要ありません。

正確な問題が何かを理解するのを手伝ってくれる人はいますか?

4
Nilesh Bhagate

この問題を修正しました。すべては問題ありませんが、唯一の問題は、Facebookログインで認証するときに、スコープセクションに「manage_page」権限を含める必要があったことです。

1
Nilesh Bhagate

このエラーも表示されます。私にとっては、グラフAPI v5.0、リクエストが変更されました。 docs は言った:

ページのパブリックコンテンツアクセス

この変更はv5.0以降に適用されます

ページパブリックコンテンツアクセス機能を必要とするエンドポイントへのリクエストは、アプリアクセストークンを使用して行うか、アプリのアプリシークレットを含める必要があります。ただし、呼び出し元のアプリにmanage_pages権限が付与されている場合、アプリアクセストークンまたはアプリシークレットは必要ありません。

公開データのみを取得する場合。アプリアクセストークンによるリクエストを使用できます。しかし、もっと取得したい場合は。ドキュメントの更新に従う必要があります。 :)

1
IkarosKun