How get publish_pages permission, to post on own business Facebook page using Graph API? - facebook-graph-api

I am making a server-to-server Facebook 'app' so that some of the news articles we post to our own website can be posted on our own Facebook page too. I have read 14 squintillion pages of documentation, but cannot find how to get the publish_pages permission for myself or the app.
I have coaxed the app through the review process, and got the manage_pages permission allowed. I thought I had to submit all over again, to get publish_pages too, but the documentation says no. Apparently anyone appearing in the Roles for the app can grant the necessary permissions.
I have set myself up as admin for the app, yet when trying to get a token using the Facebook developer tools, I am never shown publish_pages. So even if I create a non-expiring token (my end goal) it is rejected with a message about the lack of publish_pages.
Shouldn't I be seeing more permissions listed here?
I'm sure I've read all relevant parts of the official documentation, plus StackOverflow answers and several unofficial walk-throughs, but I cannot work out what I am missing...

I thought I had to submit all over again, to get publish_pages too,
You do.
but the documentation says no. Apparently anyone appearing in the Roles for the app can grant the necessary permissions.
That is for apps in dev mode. Any of those users can grant the permission to your app, while it is in dev mode. But whatever you publish through your app, will only be visible to this group of users only, and not to the general public.
For the content to be visible to everyone, your app needs to be in live mode.
Before you can ask people - even those with a role in the app - for publish_pages when your app is in live mode, you need to submit that permission for review.

Related

facebook Live stream on my own feed using graph API

I'm trying to live stream on my own profile, do i need app review for that purpose also ?, can someone please explain as this page says i need an app review??
Certain permissions can be granted by people with a role in your app (admin, developer, tester) when the app is in live mode, even without review.
It used to be all of them, but Facebook has further restricted this since.
You will not be able to grant this permission to the app in live mode, even with one of those accounts with an app role, unless you get it reviewed first.
And your app needs to be in live mode; while in dev mode, only people with a role in the app can see any content created through it.
So NO, you will not be able to make this work and have your video be visible to everyone, without submitting your app for review.

Get instagram ID from facebook graph API without manage_pages permission

I'm creating an app that's using facebook login to get instagram follower insights. Currently I've followed and and successfully made the soloution written here: https://developers.facebook.com/docs/instagram-api/getting-started/
But here's the problem. Facebook won't approve the "manage_pages" permission for my app. Without manage_pages I have no idea how to get the instagram account id.
I've tried for a couple of weeks now, and facebook won't give any explanation other than "This permission is not required for your app's intended function, or it doesn't appear to enhance the user experience" and then referencing this https://developers.facebook.com/docs/facebook-login/permissions
I currently have a facebook support ticket regarding the issue but they haven't replied for almost 2 weeks. And I'm getting a little desperate.
Using below URL for version 3.0 and 3.2 to get the instagram accounts - It works with "manage_permissions" but without it the response is empty.
me/accounts?fields=name,id,access_token,instagram_business_account{id}
Facebook has finally replied to my support ticket and accepted my app review! The approach and guide I was using above was correct.
I have similar problem to get Instagram Id without extra manage_pages permission. I see no point to ask users for manage page permissions (just read it - its includes ads/create/delete etc permissions, crazy) just to get their Instagram accounts id connected to the page. I've found pages_read_engagement permission will provide this data! So, read only permission fixed my problem. Try it! Its better than manage_pages I guess.

Graph API manage_pages and publish_pages permissions disappearing from an access token's scope

I am using the Graph API to automatically post to a Page. To get a Page Access Token, I have first logged in to my app using the Graph API Explorer's login with the permissions manage_pages, publish_pages and pages_show_list. I then used the access token tool to extend it, then used that to call me/accounts in the Explorer to obtain a Page Access token with no expiry time.
When I first logged in to my app, it was in development mode. I looked at the access token in the Access Token Debugger and saw it had the manage_pages and publish_pages permissions. However, when I make the app public, these permissions disappear from the scope of the access token, even though the user it refers to is an Admin of the app. When I try to make an API call in public mode, I get the following error:
(#200) This endpoint is deprecated since the required permissions manage_pages,publish_pages are deprecated
This really confuses me, as I believe those permissions have not been deprecated.
Does anyone know why the perms are disappearing/becoming "deprecated" when I switch the app to public mode?
I had a similar problem.
After contacting Facebook, it turns out this is an app verification issue, and the publish_pages permission is available for private test apps, and properly approved public apps.
Sadly manage_pages and publish_pages permissions are deprecated. From their documentation -
As of April 24,2018, the pubish_actions permission has been removed. Please see the Breaking Changes Changelog for more details. To provide a way for your app users to share content to Facebook, we encourage you to use our Sharing products instead.
You can check out this link that mentions the above details.

Deprecated Facebook login permissions

My app integrates Facebook login with the following permissions :user_education_history and user_work_history. The app was working just fine until today morning when I attempt to login I get the following error:
invalid scopes: user_education_history, user_work_history. This message is only shown to developers other app users will ignore these permissions if present.
I went through the docs and I discovered that they were deprecated on the 4th of this month but I cannot seem to find the new permissions for the education and the work history ... any help ?
Facebook is removing access to a lot of things as a result of recent negative press surrounding data mining of their users. In almost all cases the information is simply no longer available, there is no alternative method to access it.
More information is available in the Facebook developer blog:
https://developers.facebook.com/blog/post/2018/04/04/facebook-api-platform-product-changes/
https://developers.facebook.com/blog/post/2018/04/24/new-facebook-platform-product-changes-policy-updates
Note that the message you mention is only shown to Facebook accounts with developer credentials. Regular Facebook users don't see this message and the Facebook API simply ignores requests for scopes which are no longer allowed. If the data being requested are optional in the context of the app, you should create a test Facebook account and see how it behaves when requesting the data doesn't return anything (or causes unexpected errors).

Facebook Graph API - issues with the publish_actions permissions

Facebook official docs mention that the publish_actions permissions is needed to publish on your FB stream open graph features (actions + objects).
Well, I'm getting a problem to make it work. On the docs it is mentioned that these features are rolling out slowly to all users and will be available soon, but for now, they should be available for the developer and the test users (at least until my actions/objects are approved). Well, this doesn't work, I get an OAuthException ("(#200) Requires extended permission: publish_actions or App must be on whitelist").
So to make it work, I must first go to the Graph API explorer, grant myself manually a permission (publish_actions) to get the token and only then it works(maybe it is buggy?).
The other option is to categorize my app as "game" and then it behaves as expected. They also say we should enable the Enhanced Auth Dialog, so I did, but that didn't help.
Bump
Edit
This was actually in main docs (https://developers.facebook.com/docs/opengraph/tutorial/#authenticate)
To make it work, just use the FBML for the login button with the scope:
<fb:login-button width="200" max-rows="1" scope="publish_actions">
</fb:login-button>
Works only for test users and developers instantly, but I guess that when my actions/objects will be approved, I will be able to roll this to all of my users.