I'm having trouble finding solution for my client's new web app - within this app, customers will be able to create ads for facebook, instagram and google (and others in future), all from 1 place. So, somehow I need to be able to manage ads for customers' Pages. For personal accounts it's "quite simple", through ads manager, big green button 'Add people', but I need this permission for Pages, not for personal accounts.
We already have approved "ads_management", "ads_read" and "manage_pages" (I'm not 100% sure if we'll need manage_pages permission) - we'll probably ask for "Ads Management Standard Access" too.
After some research, I think this whole thing might be possible through Business Manager (so we'll need "business_management" permission too, right?), then in app settings, there's business manager ID input (for linking business account with app).
Here's my proposed solution (simplified):
in our web app, customers will provide us with url/ID of their Page
api call to check whether logged-in user is administrator of provided Page
api call to add this Page to Business manager (send invitation)
api call to check if user/Page has accepted invitation - if so, we'll be able to manage their ads
Question is, is this (very simplified) solution possible? Will it work? There are dozens of APIs and I'm not sure I picked the right one.
Development is at early stage, so we don't have any in-depth research yet.
Something very similar might be here - Facebook ads, add customer page to business manager but it's 2 years old and after all scandals, there were a lot of changes in APIs, so I'm not sure whether it's still actual.
Thanks in advance
So Twitter was a stroll in the park, Facebook requires jumping through a few more hoops. I'm not building an "app" per se; all we really need is live access to a small subset of graph api functionality. If that requires publishing a do-nothing "app" on FB for the sole purpose of collecting access tokens, so be it.
A few questions arise:
1. Are all apps to be created via personal Facebook accounts, even for businesses?
2. Can/does an app in any way expose the underlying personal account which created it?
3. Is the review process currently a super long, highly invasive rectal exam, or surprisingly smooth?
Thanks and apologies for the non-codey nature of this post.
Yes, you have to use a Facebook account and you have to apply as developer.
No.
Depends on the amount of permissions, but in general it is smooth. That is highly opinionated though.
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.
I developed Facebook Page Tab App which has been up and running on my personal Facebook account for about a year now. I need to transfer this (if at all possible) to another Facebook account which is our company account. Can anyone advise if this is possible and if so where to start? Also would it cause any disruption to the users currently using the app?
Many thanks
as you have been told, it's not possible for "business" accounts to create app. I guess you are talking about "fake" personal account to which multiple people from your company will have access to. If that's the case, then just add that account as admin to your app - and then remove yourself from admins. That's it - app belongs to another account now.
UPDATE: probably "fake account" is not the best word. I should have said "company owner will register personal account which will be used for business purposes". In this case you can transfer the app there.
My company wants to include Facebook Connect into some of the web sites we sell. Getting the integrations to work properly isn't really the problem, the problem is creating the required app in a useful way.
I can create the app with my personal Facebook account, but that's no good if I quit a few years down the way, and since Facebook scrapped company accounts over Pages, it's not possible to make a company account where we can gather all the Facebook Connect apps we make.
Is there an official solution and/or working hack that will solve this problem for us?
Thanks in advance for all help!
No. You are going to have to use a "real" Facebook account for this. You also need to verify that account as a Facebook developer. This involves either submitting a phone number (SMS verification) or a credit card number.
If you are worried about using your own personal account, as your client to use his. There is no reason you should be forced to use your account - after all, its only a job right? :)
I strongly advise against opening a new "fake" account to manage your applications. Facebook is tightening their security and methods to find these fake users. Should Facebook close this "fake" account, you won't have access to your application's settings anymore.