Facebook Page Public Access Content permission: competitive analysis and benchmarking only? - facebook-graph-api

I would like to write a backend application that retrieves public posts from Facebook pages that I don't manage, using the graph API. As an example the last 5 posts of the local pub page.
According to the feed documentation, I need to manage the page or request the Page Public Content Access permission.
The Page Public Content Access permission is mentioning the following as allowed usage: 'Provide aggregated, anonymized public content for competitive analysis and benchmarking'.
This sounds very restricted to me.
Is it possible and allowed to let my backend application retrieve public Facebook posts and show them in my mobile application as feature?
Most references on StackOverflow refer to issues that are related to API changes that have been made.
I'm trying to understand what is allowed and what not but it is hard for me to extract this from the documentation on the developers page.

Related

Test Facebook Graph API without Page Public Content Access permission

Is there a way to test an app implemented Facebook Graph API required Page Public Content Access permission?
I was testing the {page_id}_{post_id} endpoint in Facebook Graph API Explorer to get a post, but got the error message:
This endpoint requires the 'pages_read_engagement' permission or the 'Page Public Content Access' feature. Refer to https://developers.facebook.com/docs/apps/review/login-permissions#manage-pages and https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS for details.
This error applies to both random pages and pages that I own. I couldn't use it at all. The app I've planned to do is mostly based on Facebook posts so I may say this is it's the main function, so I just can't have the app reviewed until I can test this endpoint successfully.
What can I do to make it work? Any help would be appreciated!
It turns out I chose the wrong type to create my facebook app. I chose to create a "Business Connected Experiences" app instead of a "Manage Business Integrations" one, so I couldn't fully access to the permissions I need to query on my own page. The former only doesn't provide me the pages_user_read_content and the likes, so it was unable for me to read comments from posts. Besides, I also use an user token instead of a page token (Thanks Lars for pointing this out for me).
So, I just create a new app with the right type and everything turns out well.
Hope this will help someone someday.

Facebook graph api - getting page public content access while in development mode

I wrote a short script for personal use only which is designed to get easier access to public content on facebook pages. The script is supposed to export the contents of public posts on a given page to an excel file.
I understand that for an app in live mode, I need to submit a request for page public content access in order to get information from pages that I don't manage. However, this script is not intended to go into live mode at all (for example, it doesn't have a user interface) as it is for my own use.
How can I get page public content access without turning the script into an app in live mode?
It does not matter if you go live or not, if you want to access Pages you do not manage, you have to apply for Page Public Content Access. Else it would be easy to just keep in unpublished and redirect user calls to your code as a proxy to the Graph API. Facebook needs to know how you want to use the content.

Retrieve comments from an implementing facebook comments website

I can not get Facebook Graph Api to retrieve comments from websites that implements facebook commenting system.
I want to provide sentiment feedback statistics for various websites. I wanted to retrieve comments from few websites which are implementing facebook commenting system, I found graph API method /{object-id}/comments
which should return set of comments from specific object-id (which is an url of article consisting set of facebook comments?). I keep getting json response with ID only or an error with "(#10) To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved by Facebook. To submit this 'Page Public Content Access' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review." message. Any feedback on that?
/{object-id}/comments is for objects on Facebook - posts, comments, videos, etc. An external website that uses the comments plugin, doesn’t fall under that to begin with.
What you want, is this here - https://developers.facebook.com/docs/plugins/faqs#faq_1603507626630008:
Can I get comments for a URL via an API?
The comments for every URL can be accessed via the Graph API. Simply make an HTTP GET request to:
https://graph.facebook.com/v2.6/?fields=og_object{comments}&id=<YOUR_URL>&access_token=<YOUR_TOKEN>

Accessing Page Public Content - App Review Required, but why?

I started to work at a company and I was given the task to use graph API to get a given sites public posts and its reactions and make statistics saved to a database, using nothing personal, only the things everyone can see. I need Public Page Content Access to do so but I must submit it for review which I can't because I need a feature for it which I can't develop because I need PPCA and so on...
However ( if I understood it correctly ) it was written if "My app" has someone who has the role of admin on that given page and is tester/developer/administrator then I can freely access that pages content without submitting. And this parameter checks, but the graph request still gives me this error:
https://graph.facebook.com/v3.2/page-id-with-admin-in-app-project-as-admin-too/feed?access_token=access-token
(#10) To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved by Facebook. To submit this 'Page Public Content Access' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review."
Did I miss something? Or should it be submitted anyways?

Access public data of other users using Instagram/Facebook API

I would like to access other users public data to show in my website when they configure the page by their username/id.
It means I will create an app on FB/Instagram side and with the help of this app's access token I would like to fetch public data of other user.
Is this scenario valid now? Earlier it was possible but I am not sure now with changes in policies. Even the documents are not clear enough which can say it's possible or not?
Has anyone tried this out recently?
Users: Only data of users who specifically authorized your App is available, depending on the authorized permissions. It does not matter if data of user profiles is public or not, you have to get permission from each user separately.
Pages: If you want to get data of pages you don´t own, you have to go through a review process with your App to get access to "Page Public Content": https://developers.facebook.com/docs/apps/review/feature/#reference-PAGES_ACCESS
That´s for Facebook, about Instagram you can just hit the docs (as well): https://developers.facebook.com/docs/instagram-api/business-discovery
My number one recommendation, in this case, is Facebook API or Instagram API from Data365. I may be considered biased since it is the tool I work for, but it is really a reliable tool you can get public profile data by users ID or username.
Of course, you can use the official Facebook/Instagram APIs for searching all public objects (post, user, page, event, group, place, check-in). But note, the official API has a number of restrictions. Andyrandy has already described them in his answer. Compared with official APIs, we do not have such restrictions.
Besides, our APIs provide such unique features as gender and age recognition (via face photos) along with identification of post reactions that give a competitive advantage in obtained analytics. Data365 APIs also enable developers to create monitoring tasks for a one-time or auto data update. And above all, we do not break the law but only provide web scraping within the legal framework.