Facebook publish_actions usage - facebook

Im pretty confused with how i need to approach this issue.
I have a website using a 3rd party app which allowed the admin user to login, type in some content which then appeared on his site aswell as publishing to his FB page. All was working until FB changed their procedures last year (believe it was using the Graph API). Unfortunately the 3rd party no longer support this app so i am trying to see if i can resolve.
The application as far as i can tell uses 3 permissions,
manage_pages, publish_actions, publish_pages
Some threads indicate, i need to complete an App Review which once authorised would get everything working as it should. This is in process to save me some time.
Other threads indicate, public_actions is deprecated and cant be used any futher. If i go to FB help pages (https://developers.facebook.com/docs/facebook-login/permissions/#reference-publish_actions) it doesnt list it. In which case i feel this app would therefore no longer work until i fix this AFTER having the app reviewed and accepted?
Can anyone advise which is true and if #2, what do i need to do to get publish_actions to working in this scenario?
Is it possible to have this working in a test enviroment as theres too many variables for me to tackle here i.e. FB state unless the site is https it wont work, app review etc

publish_actions does not exist any more, it has been removed.
Posting to user profiles via API is therefor not possible any more.
To post to a page you are an admin of you don’t need that one to begin with though, the appropriate permission for that is publish_pages, and that still exists.

Related

How to access my business’ Facebook Page Feed from my web server using Graph API?

I have a pre-existing Facebook Business Page set up on Facebook and I just registered my website (App) on the Facebook Developers Console using the same Business name as the Facebook Page name. I am an admin on both the App account and the Business Page. My app is also on the list of “subscribed apps” for the Page. Even still, Facebook doesn’t see the app and page as the same business, and I still don’t see my page in the “App Pages” section of my App Settings like it says I should.
Ultimately, my goal is to be able to establish a communication between my web server and my Facebook Page in order to READ posts on my page using the Graph API. However, when I try accessing the page node or any of its edges using my App Token (via Graph Explorer OR my web server), it’s telling me I need an App review before I can read the public data on my own Facebook page.
My guess is that this is happening because there is still no established connection between the app and the page... and if that’s the case, what more can I do to make the connection? Anyone have any experience with this?
FYI: I’ve read many other posts on this issue and most of them are outdated or don’t give any clear answers to the question. I feel this question is valid due to the privacy changes introduced by Facebook last March.
You need to have your App reviewed, older apps work till August 2018. But as now every review takes a month and there is high change that you are not approved for "Page Public Content Access". Reason for approve denial is "it doesn't appear to enhance the user experience". And after that, there is not much you can do. You can make another app and submit it to the review, with info that might pass the review process.
As for now, i do not know the correct phrases to use in review-form, but if some-one gets "Page Public Content Access"-approval, please let us know how.

Getting facebook page with app_scoped_user_id is not possible anymore?

Below url gaves the user's facebook page till yesterday. But it's not working anymore.
https://www.facebook.com/app_scoped_user_id/xxxxxxxxxxxxx/
Is there any way to get user's facebook page or it's disabled for a security reason?
Unfortunately, Facebook have chosen to disable the ability to resolve app scoped user IDs, so this feature is now gone. Seems they havent yet responded to people registrered to the bug to let them know.
https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/
There's a new permission in Graph API 3.0 that provides a URL link for a facebook profile:
user_link
In order to use that, you have to submit your facebook app for review (and likely have a legitimate reason you need this information.
Update: I went through this process, our app got approved for user_link permission, and it works as advertised.
The user_link variable is an app scoped link that will work as long as the app remains approved, and will stop working if the app should get removed or they revoke the approval. So it's a special URL that really only works as long as the FB app is around.
https://developers.facebook.com/bugs/2054375031451090/
Subscribe to that bug to get updated on the status.
There is also a blog entry about this: https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/ - so this is actually not even a bug.
This is no longer possible and will not be, according to https://developers.facebook.com/blog/post/2018/05/01/facebook-login-updates-further-protect-privacy/
Your best bet going forward is to open the Facebook site and search for the user name like so:
JavaScript:
Assume user is an object with a property called name that contains the user's name.
window.open("https://www.facebook.com/search/str/".concat(encodeURIComponent(user.name)).concat("/keywords_users"));
In most cases this will allow you to quickly find the person in question, given that you can still display their profile picture using the app-scoped ID on whichever site lists users. It's not great, but it may be of help to someone. We've resorted to this solution in our CRM.

Having permission for read_stream, manage_notifications, publish_actions

Okay, this is a rather specific question but I'll ask it here since I don't find any form on FB's website, this looks like it's the official place for FB support so here I am !
I am a part of a company which produces a unique web application for visually impaired people. Long story short, we take content from a bunch of websites and webservices and centralize everything in a single application, which is accessible, vocalized and controllable using the keyboard.
We would like to add a Facebook client to the application, using the Graph API. To make an acceptable client we would need "risky" permissions such as read_stream and manage_notifications, but I read that they are only granted for Facebook Clients written for a platform on which a FB client does not already exist.
So here is my question : do I have any chance to have any of these permissions granted, or am I wasting my time developing an app which will never be approved ? In order to submit the app for reviewing I must start to write it, and I wonder if it will be worth of my time.
Thanks :)
As WizKid stated, read_stream and manage_notifications are not granted to anyone but are kept in the documentation for legacy purposes.

Facebook Graph Api me/home Seems To Return Same as me/feed

I know there have already been a lot of questions asked about replicating the users home feed and using me/home, but my question is slightly different.
A few months ago I wrote code to authenticate with Facebook (get user access token) and then retrieve their home feed with me/home. This worked fine at the time as far as I can recall. I've just gone back to the code today, and it doesn't appear to work. The result I get back looks almost the same as me/feed, which is to say it is almost entirely posts from the same account and not posts from 'friends'. Just one post from someone else, a change to their profile pic, shows up but the rest are all 'self posts'.
This only happens with tokens for my own app. If I use graph explorer using the same token, I get the same result. If I use graph explorer with it's own token then it shows me something much more like the actual home feed on the Facebook site. Generating new tokens doesn't help. I have checked the permissions on the tokens used are the same, in fact I even copied the permission list from the generated graph token into my app and re-authenticated, but it didn't help. If my app does the request, then I get almost nothing from other people from me/home. This is the same if I use myuserid/home. Makes no difference.
So my question is, why? Have Facebook changed something and is there a way to change my app so it gets a better version of the home feed?
Secondly, while researching this I've discovered posts saying read_stream won't be granted by Facebook to any app on any platform that has an 'official facebook app'. Does this mean I'm out of luck anyway, even if I get this working for testing purposes using the account that owns the app, I won't actually be able to publish it so others can use it?
Thanks.

Deprecated offline access in Facebook

I just created last week an App and I've read that offline access doesn't work with newly created apps.(I haven't found any tutorial on the web. I am really new to facebook apps)
with this new change in facebook, I don't know how to use the current thing.
I badly need this feature because I don't want the user keeps logging-in in facebook everytime he visits and posts a status in my site as well in his facebook wall. I just want the user to be stayed connected and be able to post on his wall automatically thru my site once he authorized my app.
Thank you.
There are very clear and simple instructions on the following documentation to explain what you need to do to switch to long-life access tokens:
https://developers.facebook.com/roadmap/offline-access-removal/
Also, from your description, it sounds like you are spamming and breaking Facebook Platform Policies. Users will hate any app that automatically posts on their behalf, so I recommend you do not do that, as either people will stop using your app or they'll report it and it'll get banned.