Facebook and Instagram public data API - facebook

I want to build a dashboard that enables any company to track the social media activity of its competitors.
For example.. let's say you are a small business owner. You would be able to add the 'facebook/instagram page id's' of your 4-5 competitors within the app. The app would retrieve the historical data of your competitors.. and enable you to interactively explore what they are doing. How often they are posting, at the time of the day, what is liked/not liked, etc.
Problem is: Since Cambridge Analytica, Facebook requires app review to allow access to public page data. But how do I show the app.. when I don't have the data to build it?
Does anyone have any remote idea whether the thing that I am trying to build is generally within that would be considered permissible by Facebook?

You can still make your dashboard which will show your Facebook activity.
To get the Facebook page ID of 4-5 competitors. The competitors have to use your app and allow permission to your app for accessing public features.
You have to own a Facebook page. Get OAuth key. For every request to Facebook you will be using this Key. In case of mischievous activity your OAuth key will be blocked.
What you are trying to do is not possible these days and neither permissible by Facebook.

You can build your App already and just use your own Pages for testing - with a Page Token of those Pages. Send Facebook a video how you are using the data in the review process. I have recently got Page Public Content Access approved for that specific use case. Facebook just wants to see how you will use the public content, the App does not need to be 100% finished.
What´s allowed and what´s not allowed: https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS

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.

Get the post feed of a public facebook page

I'm working on an app and I need to pull in the public posts from the page of a business. I do not want users to login or send any information back to Facebook, I just need the posts so they can be shown in a read-only format.
I've looked around and from what I've read, Facebook offers ways to authenticate your connection to the API, but for security reasons you shouldn't make the calls directly from your app. I've seen something called a client token mentioned, that is assumed to be insecure, but I can't find much mention of it outside of https://developers.facebook.com/docs/facebook-login/access-tokens. It says it can be found in the app dashboard, but I have not been able to find it.
How do you make a call to get the posts of a public facebook page from an iOS app?
I ended up finding something that wasn't quite what I was looking for, but still got the job done: Facebook Page Plugin
It lets you embed the publicly available feed of a Facebook page into a web page. If you want to use it in an app you can host the web page that has the feed code in it and then load it into a web view in the app.

Questions regarding the review process for my code using Facebook API

When I'm getting ready to move my app that I created (in order to use the Facebook API), the process asks for things such as App Name, icon, etc. I only created an app in order to use the APIs. I'm calling the app from my website and the app will not be public facing outside of my website. What should I put for these questions? Is this even the correct way to use the APIs to write to a company page? I created the Facebook app because that's the only way I knew to be able to use the Facebook APIs. If I don't need an app and can use APIs in some other way can someone please direct me to an example?
What I'm doing is allowing a user on our website to post their Testimonial comments to our Facebook company page's Visitor Posts. They are presented with the Facebook login dialog and then upon successful login the testimonial is written to the company page and the user is returned to our website.

Can't get facebook app approved at Facebook because the app is only available internally

I have a facebook user who is the owner of the company I work for. He has a single Facebook page, which is the "company page" on Facebook. He created a FB "app" with permissions "manage_pages" and "publish_actions". So the FB api can post to his FB Page, on his behalf, as the app.
Inside the company, we have a few hundred people that use an intranet-based software app. When the users engage in a certain function in the software, the code uses the Facebook API to post a message to the public company page using an access token of the FB account of the company owner. This system works great, but the app is not yet approved, so no one can actually see the posts on the FB page except the company owner.
The software is only available inside the company building, it's not reachable via the Internet. There would be serious intellectual property concerns with allowing an anonymous facebook employee into it. There would be security concerns about making this all public on the web. So I have to presume that FB will not be able to see the backend here - where the posts are created.
So because of this, I've run into problems getting the app reviewed because I have no way to let Facebook reviewers actually see the software where the user creates the post, as they requested.
Is this considered a non-starter setup by FB, or does FB have any contingency for this situation? Or do they expect every FB app to be used in a completely public environment? I'm just thinking surely I'm not the only person trying to use a FB app to post to a company page from a publicly-inaccessible place inside that company?
Thanks!
This was the answer to the problem, thank you CBroe: It is not a matter of approval that makes the app's postings viewable by everybody, but simply of the app still being in development mode.
The actual Facebook gui in the app dashboard doesn't say "development mode" on/off like it used to. It now says "do you want to make this app live to the public". I selected "yes" which made the app's postings viewable by everybody.
In my case, the original confusion stemmed from the fact that we didn't want to make the app live to the public, we only want our one company owner to use the app - so we naturally did not change that setting to "live".

Concept demo for "Internet of Things & Social Network"

This is my first post in this facebook's stackoverflow forum. My background is on wireless baseband prototyping on FPGA platform and do not have any prior experience with facebook development. Now i have a chance to work on social network related development work and i'm quite excited. Anyway above is just my background introduction.
Here i want to create a virtual Facebook user. Imagine you are interacting with your refrigerator on Facebook. This is the kind of concept we want to show.
Following are the functionality i would like to have at my virtual's facebook account..
1) recognize real friend check-in and messages posted on his/her wall.
2) ability to write messages on real friend's wall.
3) recognize messages posted on virtual account's wall.
4) ability to write message on virtual account wall.
How can the virtual account be equipped with such functionalities? Can i achieve by writing a facebook application? Please advise the direction i should look at.
Cheers,
Phone Naing
The facebook api lets you query their graph but it requires an access token to do that.
There are 3 main token types: User, Page and App.
Your app would be able to get an app token easily but it's limited to public data only, like data of public pages.
For a page and user tokens you'll need the actual user to interact with your app in order to get the token.
You can get the friends check-ins, feed, images, events and so on by asking for the right permissions from the user (there are user permissions and friends permissions).
You can also post to friends wall with the "publish_stream" permission.
For "recognizing" posted items on a user wall you can either recheck the user feed every once and a while and compare what you had and what you get or use the Real-time Updates.
With all of that said, I seriously doubt that you'll manage to pull something like that with the current limitations of the facebook api.
Let's start with the fact that facebook does not like profiles to be "vritual", they want the profiles to be of real people.
Of course that there are plenty of virtual profiles but they can remove them (and sometimes do).
Even if you do have these virtual profiles, since they are virtual they won't interact with your application using facebook, that is won't be logged in to facebook via their channels (web interface, android or iOS, etc).
Because of that you won't be able to get a user access token which you need for all of the information you want.
Since the deprecation of the offline_access permission there's no way to have a token which is valid for a user for more than about 2 months, which means that for each "virtual user" you'll need to log him in to facebook and then interact with your app to get a new token.
You can create a page instead of a virtual profile, which will also be fine with facebook.
But here again, you need a user to actually interact with facebook and your app to get a valid page access token, and even if you get that, it's not enough for the data you want to ask for.
To put it all together:
I think it can't be done.