I am developing an app that syncs with users Facebook account and fetches Facebook page information. Initially, app asks for Login with Facebook and gets page list. After getting pages I am calling API to get posts associated with each page. Once I get post details then I am calling insight APIs to get insights of each post.
This flow working fine with development mode but when I switch to Live mode I am getting the following error
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...)
From the details what I observed I am getting this error while using,
GET /v5.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com
this endpoint. I am currently having 2 permissions approved,
- manage_pages 2. read_insights
and app review team rejected 2 permissions saying the request is invalid and for this use case we don’t require this which are,
1.Page Mentions 2. user_posts
Can anyone help me to understand what is the exact issue?
3
Answers
I have fixed this issue. Everything is fine but the only issue is when authenticating with facebook login I needed to include "manage_page" permission in scope section.
I also appear this error. for me, I found that since graph api
v5.0
, request has changed. The docs said:If you only retrieve public data. You can use requests by app access token quick fixed. But if you want to get more. You need to follow the docs update. 🙂
I had the same problem. Upon reacting to their damn changes yet again (manage_pages is not a thing anymore). I only had
pages_manage_metadata
but notpages_read_engagement
to actually read the content on the page… -.-