Facebook "Unable to update association between Page and App" - ios

I am an iOS developer that recently integrated the Facebook SDK into my company's mobile app. We already had an existing business page, and as an admin of that page I tried to "Create an App" - to which facebook told me I needed to do so from a personal account. After logging in to a personal account I created the iOS app following the directions, and everything thus far works 100% for the exception of one thing - linking facebook shares from the iOS app to our business facebook page via the web (not the app). In other words, when sharing information from our app, inside of the share dialog on facebook when users click on in "John Doe shared a link via ", I want users to be directed to our facebook page. I currently have it working so that if the user is on facebook using the mobile app and they click on the share it takes them to the app store if they dont have the app or opens the app if they have it, but if they are on their computer and click on the company name I want to direct them to our facebook page.
After becoming an admin for the business facebook page on my personal account, I was able to go to "Manage Apps", "Edit App", and then "App Details", where there is a section to "select an existing facebook page" that I am an admin for. The dropdown includes the business' facebook page, and after selecting it and then hitting save I am given the following message:
"Error. We were unable to update the association between your Facebook Page and your app. Try again later."
This has been going on for a few days now. Does anyone know what the issue is?

This error seems to crop up for a multitude of reasons, so you'll need to check a few things :
Under the "Settings" for your application, make sure Sandbox Mode is still disabled.
Verify that your App Id and App Secret have not changed.
Make sure the page is categorized as an App Page (and can be found under Brands & Products)
Make sure the Page name contains your app name.

Apparently this was a known issue with Facebook, and has since been fixed by them.
https://developers.facebook.com/bugs/1483912231834857

Related

Open specific Facebook profile from Xamarin iOS app

I've been trying to use deep-linking to open up specific profile pages on the Facebook app, but so far it will only open my own profile. The general format should be fb://profile/<id> unfortunately every time I use this I am directed to a page that says Profile Unavailable. The specific example I am using is with my colleagues ID so from my app if I wanted to go to his page I would open the URL for fb://profile/10206768458598300. Is there a new format for finding profiles? I have found no other solution for opening a Facebook profile from within my app besides opening an actual webpage, having the user sign-in, and go to the actual profile URL of the person.
We don't currently have any officially supported way to open a profile in the Facebook app.

Facebook unable to retrieve iPhone Store ID?

I'm trying to set up an iOS 6.0 and up app on Facebook developers, everything's hooked up and working fine using the latest SDK. The problem is that, though authentication works fine, later in the app it's requesting post permissions and when a Facebook account is not a member of the Facebook app in the Dev center, these permissions aren't requested, the screen just pops to Facebook and back to the app again without doing anything. When I try to use the app with my account that is an admin on Facebook Dev, then it works.
The posting action in question is a Facebook Graph post and it works fine for the admin account.
In previous apps I haven't requested publish permissions through the Facebook developer portal in the app settings (you know, the app review bit by Facebook), so that can't be it either. Those apps work with accounts that are not a member.
I know the code is fine, the code is re-used from previous apps.
I think it's because I am unable to enter the proper Facebook app ID in the Settings. Could that be the cause? Though the app ID is in iTunes Connect, Facebook can't find it yet because the app in review at Apple.
Any thoughts on this nightmarish user rights issue?
Since API v2 was introduced, with every new app you need to go through review for any permission apart from the three “basic” ones (those are public_profile, email and user_friends) – see https://developers.facebook.com/docs/facebook-login/permissions/v2.1
Otherwise you will only be able to ask users that have a role in the app (admin/developer/tester) for permissions – that is helpful either during testing, or for an app that is for a limited user base only; f.e. if you want your app to publish updates from your website to your Facebook page, which requires manage_pages – in such a case you should not submit for review, but just use that permission with your admin/developer/tester account associated with the app. That is further explained here – https://developers.facebook.com/docs/apps/faq#apps-all-users-are-developers

Linking Facebook Graph on iOS app and Web app

So I've searched for this topic a lot and may be over complicating things but would love some clarity on it. So here's the issue.
I have a web app that uses Facebook Graph (FB Login, friends invite, sharing through FB, etc). We've just built an iOS app for the website and now want to implement all the above FB actions on the iOS app as well. I looked up the Facebook documentation and have tried using that to getting just the Facebook login to work for a user that's already registered on our website (and has their Facebook account connected as well) but it doesn't seem to work.
Use case - A user registers on the web app and connects their FB account with us. They then download the iOS app and want to use FB login to login to the iOS app or share objects on their timeline. A vice versa case should also apply.
Question - What should be the workflow between the ios App, web Server and Facebook for the use case above? Basically, how is the token and the secret passed so all three know we're talking about the same user and same FB account?
Any links or advice would be highly appreciated! Thanks!
In the case when a facebook authed webapp user first starts the native app, you won't know who they are. So they need to be prompted with a "login with facebook" button. When they hit that button, the facebook-ios-sdk will figure out who the logged in user is and then check if that user has already granted your application access. If the web app and the native app both point to the same facebook app, then the facebook-ios-sdk will simply store the authed access token, and you'll have access to everything your web app does on the native app.
The key here is that your web app and native app must point to the same facebook app (ie. same app id in developers.facebook.com). If it didn't, then the native app user would be re-prompted to grant permissions when they click the "login with facebook" button. Additionally, it's important that the user is logged into the same facebook account on the web app (which is based on cookies in the browser) and on the phone itself. The facebook-ios-sdk uses a couple of different ways to look for the active facebook account on the phone. It tries the iOS 5+ system facebook account, inter-app calls to facebook's own native app, the browser cookie for the web view instance running in your app, or bounce you out to safari and use the browser cookie in safari. Which ever one comes back first saying they have an active facebook account needs to have found the same facebook account as the one on the web app. In most cases, they will match up because most users only have a single facebook account and are logged in everywhere with the same account, but they certainly can be different. In the off chance that the web app facebook user is not the same as the native app active facebook user as detected by facebook-ios-sdk, then the "login with facebook" button will simply prompt the native app active facebook user to log in and grant permissions.
Once the access token has been granted to the native app, you can send it back to the server, find the associated facebook user id, and now the web app user and the native app user can be linked to be the same person operating both apps. Additionally, any graph api calls you want to make on the server can be made on behalf of the user using the up-to-date access token you just got from the native app. Any sharing/posting/api calls made directly in the native app through the facebook-ios-sdk will be done as this user and will be handled by the sdk (ie. you won't need to worry about it... it should just work seamlessly and integrate all posts to their timeline just like the web app's graph apis can).
In the case where you have a facebook authed native app user going to the web app, you also won't know (on the first request) who this user is. You can present them with a facebook js sdk login and, again, once the same facebook user logs in, you can associate this current web app user as the one who was on the native app earlier.
Specifically addressing your question, you really have no way of knowing who a migrating user is on either the web app or the native app when they first come to the app. That's where the "login with facebook" comes in. Assuming the user is logged into the same account on the browser as well as on their phone (as determined by the facebook-ios-sdk), then the process of logging into your app is seamless. They won't be prompted to grant permissions a second time (unless your permissions set is different between the web app and the native app) and you'll be given the user's access token immediately. The role of the server is to reconcile the two users by using the granted access token. With the access token, the server can make a simple call to the graph api and get the user's facebook user id. Using that facebook user id, you'll be able to match up the "true" identities of the users on your apps (ie. you now know that the web app user and the native app user are one and the same). Once you know who the user is, you'll be able to provide a personalized experience to that user, based on his identity, regardless of whether he's using your web app or your native app.
Hope this helps. Happy to answer more questions that you may have.

How to avoid "App is allready authorized" with Facebook SDK 3.1

Every time i want to login through the Facebook idk, safari will be opened and tells me that my app is allready authorized. But i dont want to show this screen everytime a user logs in with Facebook. I followed the instructions over here to implement facebook login functionality. If the auth button is clicked i simple call the openSessionWithAllowLoginMethod which then handles the rest for me. But i dont how to apply the functionality, that it wont show the authorized screen everytime, to this code ? I would really appreciate some tips or hints.
Fill out every field related to your app in the Native iOS App section of the Basic Settings in the App Dashboard. If these fields are not configured, we can't drive traffic to your app or the iOS App Store. In addition, we use the iOS Bundle ID to streamline authentication for users who already authenticated your app. Pro-tip 3: Complete all iOS App Settings

Connect a fb Site to an iOs Fb App

iam somehow new to all the Facebook app and sites stuff.
What I have:
- A Facebook Side bulid from my acoount with around 50 Likes and some posts
- A Facebook App for my iOS App with will rock the AppStore next week :-)
I now realised, that I can have an App Site. So All posts done from the App will link to this site.
So the big question is: How to connect my App with the Site?
The only way I can see is to genarate an new Site out off the App and start at Zero. So please Help me
Thanks!
I have to do a little interpretation here:
I guess with "Facebook Side" you mean a Facebook Page - correct me if I'm wrong.
You can create an App Detail Page for your existing Facebook iOS App. I guess that is what you mean by "App Site".
How to connect my App with the Site?
Your Facebook iOS App will be connected to the App Detail Page automatically, so I guess your question is how to connect your Facebook Page with your Facebook App, right? If this is the case, then you might want to also create a Facebook Page Tab for your existing Facebook App. Here is the Facebook tutorial on how it can be done:
https://developers.facebook.com/docs/appsonfacebook/pagetabs/

Resources