Facebook programmatically application creation - facebook

I'm facing the situation where I need to programmatically create multiple Facebook Messenger Apps to different chatbots. Pretty much something like ManyChat and ChatFuel. Can someone shed some light on how is it possible?
There's a thread on it from 2011 but I've been uncessful on finding documentation on these old Facebook API's.
Create a facebook application programmatically
Thanks!

There is no API for this. As ceejayoz mentioned, ManyChat and ChatFuel just run one app and use their customer's account with the rights manage_pages and subscribed_apps to subscribe the app to the customer's page.
That said, there is just one endpoint where all traffic is delivered to and the software has to route every message to this endpoint accordingly to the right page (using receiver_id in the payload).
Keep in mind that while you want to run several apps in parallel, you have to approve all of them. Without this approval, the app can not be reached from customers.
For more insight, see the FB docs:
https://developers.facebook.com/docs/facebook-login/access-tokens/?locale=en_US
And https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps

Related

Facebook periodic review is unclear

in order to approve your app’s continued operation on our platform.
Platforms affected: Connect URL.
Developer Policy 1.2: Build an app that is stable and easily navigable.Some common violations of this policy include:
- Broken Facebook integration (e.g. broken share, like or comment functionality)
- Broken user experience in the app (e.g. app has broken links or user interface failures)
My app:
Using https://www.npmjs.com/package/hellojs v1.18.8 to query user info from facebook.
The request URL:
https://graph.facebook.com/v2.9/me?fields=email,first_name,last_name,name,timezone,verified&access_token=.....
calling out hello.js
hello(auth.network).api('me').then(function (json) {
App has no share, like, comment functionality and not really any user interface. Just our page offers ability to fill some data with facebook and then it remembers you with cookie.
Anyone has similar e-mail and what to do?
Our app does not use share, like or comment functionality neither do we provide any user interface for users (only the o. We are using Facebook to prefill some user data on our site.
Have the same unclear message "Platform affected: Connect Url".
I asked for a more detailed answer and received an answer the next day:
Thank you for your response.
Facebook periodically reviews the websites and applications which are on it. Your application is in its review process currently. We are required to test the Facebook login functionality in order to conclude the review in totality. However, we are unable to do so.
Unfortunately, we have not been able to locate a Facebook integration (Login, Share and Like) on your submitted platform. To help us conclude the review process, could you kindly share the details regarding the location of a Facebook integration and how to navigate to it on your website URL.
This review is essential to Facebook as we want to offer the best experience to users as well as developers like yourself. Please help us in bringing your application into compliance by working with us.
Alternatively, you could aid us by sending us credentials of a test user which is already registered and connected to an FB account within the app. You can get all the information related to creating a test user here - https://developers.facebook.com/docs/apps/test-users.
Please feel free to get in touch with us regarding any doubts or queries you might have.
Thank you for your patience and cooperation.
Looking forward to hearing from you.
My app contains the functionality of a facebook login. I made an instruction and a test user of the application so that Facebook employees could test the functionality used in my application.
Normally they write down what is wrong and explain how to fix it. If you are not sure you can reply them back and ask how to fix it. I manage to fix my issue which was similar to the one explain below by emailing facebook.
https://technuisance.com/facebook/facebook-policy-warning-for-app-solved.html
I got the same message from Facebook two months ago. In my case, I didn't find a solution in time and Facebook penalize me by deactivating the app.
Therefore, you must attend to it if you do not want the same to happen to you. Facebook uses software similar to this to check for failures on your site and assigns a score according to its performance. That's why they send you such a generic message.
I suggest you use PageSpeed Insights to receive a report on the performance of your website. In addition, the platform gives you suggestions for optimization and improvement; Surely there you will find some clue of what may be failing.

Facebook connect service for my customers without appid

I have more than few clients that would like to add facebook connect to their landing pages (managed by me). They are too many and not enough tech-savvy to manually create ad appid for each of them.
So my only solution is to usa my own appid to add facebook connect to all my clients websites, but as far as I know, Facebook doesn't allow to simply use the same appid on any domain.
How can I solve this? I can't find any documentation to solve my issue. Does anyone have a direction for me?
This has been discussed a couple o’ times before already – but I mostly commented on earlier questions, so let me write the whole thing up as a proper answer, for future reference.
[paraphrased] Multiple-client Facebook login via one single app id
Does anyone have a direction for me?
You probably rather don’t want to do that.
It is not really possible to run one simple app one multiple different domains.
As a workaround for only a few domains, people used to specify different domains for the different platforms – Website, Page Tab or Canvas App, plus Mobile alternative for Canvas – without actually using any of those platforms besides Website, which made the app usable on multiple domains as a website app. But since Facebook introduced their login/permission review process¹, you can’t do that any more – they expect you to present actual functionality on all platforms you have configured in your app.
You can kind-off use one single app for login on multiple domains – if you are willing to use only the server-side login flow, and to redirect users to one “main” domain (that gets specified as the app domain in the app settings) to login, and then from there back to the origin domain.
But this has several drawbacks:
It’s not what you’d call a “white label” solution. If your clients expect it to look as if users where logging in via “their” app, it should stay on their domain. Individual branding, in regard to stuff such as app name, app logo that shows in the login dialog, etc., would also not be possible. Additionally, app attribution – the link that shows up under content shared/posted via the app – would only link users back to the main domain, and not to your customer’s.
You would not be able to use the JS SDK for client-side API requests, or even just to embed it to render any of the FB social plugins that require an app id – the SDK checks what domain it is “running on”, and can not be tricked to accept a domain that is not specified in the app settings.
There could be privacy issues. An over-exaggerated example: Just because I as the app user decided to share my photos or videos I have on Facebook with your customer Our-Holy-Mother-of-Christ-Bakery.com, does not necessarily mean I want to share them with your other customer, amateurs-doing-all-kinds-of-nasty-stuff.xxx as well – but if they shared an app id for login purposes, I automatically would. Have fun writin’ the Privacy Policy (which is mandatory if you use FB login functionality, and FB also automatically checks if your app has got one) for that scenario ;-)
Finally, and most importantly: All your customers would be “sitting in the same boat.” If one of them, or in turn their website users, would publish spam via your app id, so that Facebook blocks it, login would not work any more for all of your customer’s websites. And if you decide only then, that setting up an individual app for each of your customers would be the better way to go, they would not be able to recognize their existing users any more, because of user ids being app-scoped since API v2.0 was introduced – so if users logged into this new app, that app would see a totally different user id. (And to rely on an email address as an identifier is risky, too, because you will not get one from the API for every user; for example if they registered using their mobile device.)
Edit: Plus, app/domain insights, as luschn mentioned in his answer.
¹ Yes, the review process has made it more laborious to set up multiple apps for multiple clients. But for apps that do the same stuff/use the same permissions in the same manner, you can refer to an earlier successfully reviewed app id to speed up the process a little. Also, screenshots of how f.e. posts made via the app look on timeline, and what UI components are used, as well as screencasts that you include in your submission could probably be used with little to no alteration.
Apps are not meant be used on several different domains, you will have to create a new App for each domain, i´m afraid. You can use the different platforms in the App settings to use different domains, but there are only a few so it´s pointless. Just create some screenshots and a tutorial for your clients, that´s how it is usually done.
Btw, it would be weird to authorize an App on a website, and the same App would allow you to be authorized on all other client websites. Also, insights are per App, so your clients may want to see their own insights and not the global insights of all domains together.
Many is not defined but i think for being a smart developer you need to create new app_ids for every project you need to use facebook connect. Just my opinion. It also allows you to monitor alot of stuff.

How to get access to twitter ads api?

after a lot of back and forth with the Twitter documentation I am now able to authenticate with OAuth 1.0 and make request behalf on the user who sign-ined and accepted my app to preform changes / retrieve data.
Now, I'm trying to make requests to the Twitter Ads API.
This is the error I get:
{"errors":[{"code":"UNAUTHORIZED_CLIENT_APPLICATION","message":"The client application making this request does not have access to this API"}],"request":{"params":{}}}
As it seems, there is a need of another app registration. I registered it with my app id, assuming the 'developer' stage is the fit for me. I'm trying to retrieve analytics, e.g., retrieve campaigns for the user who accepted it.
After registration the Ads App Form, the error stays the same. The docs don't specify if there is a need for a special implementation for the ads-api. Also, the Ads App I opened isn't mentioned anywhere, nor in my twitter apps.
Am I missing something?
Thanks before.
Looking at Twitter ads API documentation, getting access is a pretty involved process. From their site, you'll need:
One positive referral from a client, advertiser or Twitter team
(outside of Ads API)
Clear value proposition on how how your solution
will supplement the Twitter ads offering and improve advertiser
performance
History of compliance with Twitter developer policies
Experience running Twitter Ads
Twitter App ID associated with a corporate #username, with no more than 5 active tokens
It seems a little overkill, but I haven't seen any other way around it. If you find a better way to get ads API access, please post another answer here because I have a potential project that would use these APIs, but the application process has been too daunting to really justify starting the effort.
As of Sept 2016, the application process appears to be much easier.
It appears you no longer need positive referrals, value props, history, or experience running Twitter ads.

SMS notification when selected friends are online

I have an idea to develop a Facebook app which notifies the user through SMS when his/her friends come online. The user can pre-select the friends he/she wanted to get SMS notifications of.
This is my first attempt at developing for Facebook so I have zero experience and knowledge about the platform. I just want to know if my idea for such an app is possible? Does Facebook have an API for SMSes? Or do they let 3rd party messaging APIs (such as this one I came across) to work with them.
Thank you.
A Facebook app is actually ran off of your server and you can do anything that you want as long as you stay inside the limits of what you requested as far as information the app needs. As far and getting the information it is relatively easy. I made a extremely complicated app in 3 days. Once you read and get how to pull certain information, the rest is cake walk

Facebook-approved way to increase conversion from app requests?

I have a question about increasing visibility of Facebook app notifications.
As far as I can tell, there are only 2 places where Facebook app requests appear for users who don't click the "Apps & Games" section - in the top right section (https://skitch.com/nicksoman/8172w/facebook) or in the jewel (https://skitch.com/nicksoman/81737/2-facebook) - I believe the wording is a bit different on this one if recipients haven't used the app, as it references an invite rather than a request.
As other have noted, neither of these channels provides any context around the request. In the past I've seen context for apps like BranchOut and FarmVille, but I can't replicate this behavior by sending invites from these apps now (can anyone)?
Has anyone found a Facebook-approved way to either provide more context around these app requests or make them more visible?
I'm familiar with the history of Facebook tweaking channels due to abusive apps - just want to make sure I'm current on best practices today.
Are you referring to users who haven't authorized your app or users who did?
Basically, facebook calls this Social Channels and you have a few options, again, depending on if the user is already using your app or not.
If the user is using your app, you have the bookmarks bar which can be used by issuing a App-generated requests.
If the user isn't using your app then a friend of his that is using your app can send him a User-generated request.
You can and should encourage your users to publish your app stories to their friends' feed and/or to send them to friends.
There's that "Automatic Channels" which is discussed in the first link in this answer.
More options are to use the Social Plugins in your website, and to have a mobile version of your app.