Sharing to a user's Facebook timeline without the user leaving your app used to be simple through a server-to-server API request. This is all it took before:
Permission: publish_actions
Request:
POST /me/feed?access_token={access_token}
message={message}&link={link}
This all changed on August 1, 2018 when Facebook removed the publish_actions permission. Their breaking changes page https://developers.facebook.com/docs/graph-api/changelog/breaking-changes mentions this a couple of times:
The publish_actions permission has been removed. Apps that have
already been approved for publish_actions can continue using the
permission until August 1st, 2018. If you want to provide a way for
your app users to share content to Facebook and Instagram beyond this
date, we encourage you to use our Sharing products instead.
90-Day Breaking Change — On August 1st, 2018, the Live API
publish_actions permission, which allows an app to publish on behalf
of its Users, will be reserved for approved partners. In the coming
weeks, a new permission model that allows apps to publish Videos to
their User's Groups and Timelines will be announced.
So they clearly want us to use the share dialog, but that doesn't work in my scenario. I'd love to have the old server-to-server share capability back. Is there any way around this? They mention that the old feature is still available for approved partners. How do you become an approved partner? There's also mention of a new permission model that's coming. I can't find any reference to that. Has that been published?
Update
Interestingly, if you use a Facebook test user, the publish_actions permission is still allowed and posting to /me/feed still works. Strange.
Related
Which permission is required to post on facebook main wall or timeline through personal website c#?
like pages_read_engagement,pages_manage_posts is required for posting on Fb Page
By “main wall” you mean the user profile timeline?
That is not possible any more via API, that has been removed a while ago.
https://developers.facebook.com/docs/graph-api/changelog/breaking-changes#login-4-24:
The publish_actions permission has been removed. Apps that have already been approved for publish_actions can continue using the permission until August 1st, 2018. If you want to provide a way for your app users to share content to Facebook and Instagram beyond this date, we encourage you to use our Sharing products instead.
I am developing an Web App from which users can share content to their Facebook profiles or pages.
Facebook has said in their breaking changes that they will remove publish_actions permission from August 1st and alternatively if we want to let the users of our app share to Facebook we need to use their sharing products.
The problem is I want my users to be able to share to multiple Social Media's, that they have saved in our app with long living token, through a single click. This doesn't seem possible with the method mention by them using their sharing products.
I would like to know If there is some method for doing this using saved long living token's or If there is any way by which I can retain my publish_actions permission, for example like partnering with Facebook
Hi There is a requirement in my application, where we need to show the user news feeds. For this we were using Facebook permission "read-stream" before Facebook has changed their list of permissions.
Now after they have shifted to the new API v2.0 there are comments saying that
"read_stream permission is granted to apps building a Facebook-branded client on platforms where Facebook is not already available. For example, Android and iOS apps will not be approved for this permission. In addition, Web, Desktop, in-car and TV apps will not be granted this permission."
If this is so what is the alternative to make my app fetch news feeds as earlier.
There is a another permission called "User_Posts" which says "Provides access to the posts on a person's Timeline. Includes their own posts, posts they are tagged in, and posts other people make on their Timeline"
But i am not able to see any posts or news feeds in my application when i have replaced "read_stream" with "user_posts".
The alternative is the user_posts permission and the /me/posts endpoint. Of course this does not return posts of friends for privacy reasons. You can read more about that in the changelog.
If you don´t get any results, make sure the Access Token includes the user_posts permission and debug it in the Debugger.
I've been updating few web apps to the latest Facebook Graph API - v2.2. Those sites work and some of them have opengraph action video.watches ("Watch"). It's approved and works.
Recently I got a generic Facebook email that one or more of my apps are using permissions that have to be reviewed or they will stop working on some date. As those apps are quite old they don't have publish_actions in the review set (and that's the only extra permission in that video.watches websites). So now - does Facebook wants that publish_actions to be added to the review or it's something else (they could be more specific)?
You would require publish_actions to continue to post Open Graph actions to Facebook. Please submit for review.
From the official Facebook guideline, app won't get approved for publish_action permission if it pre-fills the message user posts on their timeline. However, when I check the BetterMe app (http://bettermeapp.co/), which does exactly the pre-filling message for me, how did it pass the review process?
Apps cannot pre-fill in general. This is Facebook Platform Policy 2.3. Apps that are currently pre-filling is using the old Facebook login that will become obsolete in April 2015. For more information, please refer to Facebook New Login FAQ.