I have been using the Graph API of Facebook and for the publication of images, notice that the entire publication process is done correctly, whether it is a single image or a set of images, everything works well and I am the administrator of the page of Facebook I can observe the publications, but when I do it from any other account no longer.
In summary, I can post images and observe them from the administrator account, but everything appears hidden to the public.
The permissions my token has are: manage_pages, publish_pages, pages_show_list, publish_to_groups
I have read the documentation but I have not been able to find any errors in my tests:
https://developers.facebook.com/docs/graph-api/photo-uploads
https://developers.facebook.com/docs/graph-api/reference/page/photos/
Does anyone know how to solve this problem?
Do I need to have the application verified by Facebook?
Apparently, for all the public to see the images published it is necessary that the application go to active mode, so it is recommended that it be sent for verification.
Related
I want to scrape comments, likes and posts for a Facebook page that I'm an Analyst in (I'm not the admin, I've been given the 'Analyst' role).
I'm using the code in https://github.com/minimaxir/facebook-page-post-scraper to scrape comments.
Apparantely, you can get likes, posts and reactions but you cannot retrieve the comments of a Facebook page without a Page Access Token.
so I went ahead and looked at the popular answer in the link facebook: permanent Page Access Token?
Not sure if this used to be the case before, but if you follow the instructions in Step 1, substep 4, In the pop-up, under the "Extended Permissions" tab, check "manage_pages". For this to work, it is asking me to submit a request with many checkboxes asking me the purpose of needing this permission, and along with this, it is not letting me send a request review without having Privacy Policy URLs, App icons, User Guidelines and a VIDEO showing how this App will be used.. I literally just want to scrape comments from my own Facebook page where I'm been given an Analyst role that has lesser privileges than Administrator, and for this I was asked to create an App for it and set Native or desktop app? to No to ensure I don't get a Bad Request when I run my code.
I'd love it if you could give me any help in this direction.. I want a solution to how I could get Extended Permissions or follow the steps in the popular answer, or simply get Page Access Token without having to set Privacy Policy Guidelines, an App icon and a video showing a demonstration of something I can't understand.
Till today there have been methods to get to Facebook User Page by user id. I mean ID, that facebook API returns to our app: https://graph.facebook.com/10152384781676191?fields=link
{
"link": "https://www.facebook.com/app_scoped_user_id/10152384781676191/",
"id": "10152384781676191"
}
But none of the methods works any more:
https://www.facebook.com/app_scoped_user_id/10152384781676191 - does not work
https://facebook.com/profile.php?id=10152384781676191 - does not work
https://facebook.com/10152384781676191 - does not work
UPDATE: It seems the following happened: according to TechCrunch, malicious sites pulled data form public user profiles.
After TechCrunch article Facebook immediately blocked the URLs that Graph API returns: graph.facebook.com/v2.11/{user-id}/?fields=link&access_token={access-token} . They "...are working on instituting additional authentication and rate limiting...".
Any 1) quick workarounds and/or 2) permanent solution?
Facebook banned the link property in their Graph API intentionally. Now they propose to fill out a from in order to review each case individually.
The form: https://go.fb.com/2018-FB4D-platform-review-form.html
News update from April 20th: Facebook Login Changes to Address Abuse
It came to our attention yesterday that some third-party tracking scripts on websites were directly accessing Facebook public profiles. While investigating this issue, we have taken immediate action by:
Disabling the ability to resolve the app-scoped user ID (ASID) returned by Facebook Login to a Facebook profile page, even for logged-in users.
Instituting rate limiting of profile picture requests, to further prevent any third parties from trying to link people's activity across different websites using the application-specific identifiers issued by Facebook Login.
We don’t take breaking changes lightly, but we believe that these updates will help protect people’s privacy and increase trust across the ecosystem. If you have an urgent issue in need of resolution, please fill out this form and someone from our team will get in touch with you.
Thank you for your patience while we work to resolve this issue as soon as possible.
I have a page and I want to run a contest for that page I am the admin of that page. I want people to post pictures on their wall and tag my page in their picture. at the end i want to get all the pictures my page is tagged in using graph api. Is there a way to do this ?. I have tried all the things. I created a app the i got the access token with all the permissions including manage_pages. then i got the page access toke using me/accounts endpoint. then using that access token me/photos/tagged. no luck so far. I am not getting all the pictures.
A little help would be appreciated Thanks.
Your question (and additional info in the comments) suggests that this stems from how Facebook deals with privacy. There are many scenarios in which using a page access token people cannot access content that is owned by a personal profile, even if the admin (personal profile) of the page owns that content.
If you have reason to believe that the API is not returning all the information that it should, you can file a bug with Facebook. If you do, please be sure to include all the necessary steps for them to reproduce the issue or they won't be able to fix it.
I'm using FB Open Graph in my application. It's not fully working. When I post a object it appears in the user's recent activity; however, it doesn't appear on their timeline. The metadata has no errors and I'm using the FBGraph gem but it also doesn't work when I do it using curl. Any advise to fix this?
Have you tried to use 'fb:explicitly_shared=true' in your URL. Refer: https://developers.facebook.com/docs/technical-guides/opengraph/explicit-sharing/
When you are in development mode, and your actions have not yet been approved by Facebook, the posted actions are only visible to you and to others with developer, admin or tester privileges for your FB app.
See: Facebook action submission
Also, open graph actions will no longer appear in users' news feeds or even the Ticker: http://developers.facebook.com/bugs/398546930211799/. So you shouldn't expect activities performed in your app to appear in users' timelines, unless these activities are tagged as 'explicitly shared', and even then there's no guarantee they'll show up.
Only direct, active shares are more or less guaranteed to show up in the Timeline.
Did you submit your action to get approved by facebook? If you did not do this, it will only work on your facebook account.
Also, are you sure you request the correct permission when the user authenticates, such as 'publish_stream'?
From the documentation it seems that the user should always authorize the Facebook application even to access basic permissions.
However, sites like Rotten Tomatoes and Clicker.com auto-authorize the logged facebook user without showing the authorization dialog. If you visit one of those sites for the first time they will be able to access your public data without you authorizing it. If I go to the Apps on my facebook settings, an entry will appear showing that I gave access to those applications (but I DID NOT).
How can this be possible? Is it related to the "Instant Personalization" feature for selected partners?
Thanks
Well, I was doing some research and yes, it's all about Instant Personalization.
From Facebook:
We've partnered with a few websites to provide you with great,
personalized experiences the moment you arrive, such as immediately
playing the music you like or displaying friends' reviews. To tailor
your experience, these partners only access public information (like
your name and profile picture) and other information you've made
public.
From one of its partners:
Clicker.com
So -at the time I'm writing this- unless you're a partner of Facebook, you'll have to show the old OAuth dialog.
Hope it helps!