Facebook Graph API; different behavior on simulator and device - facebook-graph-api

I developed a game for iPad using SDK 4.2. I am using latest Facebook Graph API to publish score on Facebook wall but have disabled opening Safari for authentication by changing in method:
- (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth
safariAuth:(BOOL)trySafariAuth {
trySafariAuth = YES; //changed to
trySafariAuth = NO;
}
It works well on Simulator by opening login dialog inside the app but on device (iPad) it opens Safari and the application goes in the background. While tracing through debugger, I found that:
didOpenOtherApp = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fbAppUrl]];
in the same method is 'YES' when run on device and 'NO' when run on simulator. This difference is causing difference in behavior. How can it be resolved? I need to use in-app authorization.

Never mind. Here is the solution.

Related

Facebook Share Dialog isn't working from mobile

I'm using the Facebook Share Dialog by using URL Redirection, followed this documentation:
https://developers.facebook.com/docs/sharing/reference/share-dialog/#:~:text=for%20Webmasters.-,Share%20by%20Using%20URL%20Redirection,-To%20share%20a
When submitting a private message via mobile, the next error arises: "Attachment Not Found: The attachment could not be found". It only happens in mobile. When I try it from desktop everything works fine.
I tried contact Facebook support but their support channel in no longer available for this feature.
Any idea?
Thanks!

Open graph stories Facebook

I am new in Facebook App. and I just discovered Open Graph stories. I'm wondering - where should I insert action and object code? What are the steps in approval procedure?
I'm still new to this topic but found out some stuff (not completely yet!).
Via developer.facebook.com you have your app. You can add objects / actions to the left of the screen. The approval depends on the rights your app requires. Are you using the open graph for web or mobile app? Eventually you'll need to create a screencast (video) of how Facebook works in your app to get approved.

Why does the iOS Facebook app show the old login flow, while Safari shows the new one?

We are updating an app to use the new Facebook iOS SDK (4.0.1) , to support the login changes that are forced from 1st May 2015.
We invoke the login screen with login behaviour set to FBSDKLoginBehaviorNative, using this:
[self.loginManager logInWithReadPermissions:#[#"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
completion(nil, error);
}
else if (result.isCancelled) {
completion(nil, nil);
}
else {
completion(result.token.tokenString, nil);
}
}];
We get a strange result though. With the Facebook iOS app installed on the device and logged in as one of our Facebook App test users we see the old login screen (no ability to refuse specific permissions, and asking for the friend_list deprecated permission):
Without the Facebook iOS app installed, we get the expected new login screen:
What gives?
Device details: iPhone 4S, iOS 8.1, FB app v28.0 (13 Apr 2015).
We have verified that this is an unintended regression introduced in version 4.0 of the Facebook SDK for iOS, and we have a fix that will ship in the next update to the SDK. Once it is fixed, users will see the same version of the Login dialog regardless of whether they are viewing it in Safari or within the Facebook app.
Note that, once an application has been migrated to use version 2.0 of Graph API (post-April 30), users should see the new version of the Login dialog in both cases, with or without the fix to the SDK, so this discrepancy should only be an issue for a short time. (If you continue to see unusual behavior in this case, please report it.)
Sorry for the confusion!

Spotify Play button issues since Web Player introduction

Our website has been having some issues with the Spotify Play button since the Spotify Web player has come into existence.
There are 3 issues that I have noticed so far:
1) Have to click twice to get the track to play
Clicking the play button (when the Web player didn't exist) used to start the song playback in the background. Now on clicking the button, it first launches the web player (which is fine) but doesn't automatically start playing the music. It imports the playlist but that's all it does. It works only if the user manually presses play on the Web Player/ Clicks on the button the second time (bad from a usability perspective - left our users confused). Along with this, to confuse users further, The Play Button shows "The Track Cannot be played" when this happens. However, if you press on that track again (either from the play button or the actual web player), it works fine and the message goes away.
Tested on Chrome (OSX and Windows 7) , Safari (OSX)
Can be replicated here: http://partysen.se/event/5/tanmays-awesome-party/
2) Invalid OAuth Token
A possibly connected problem seen since the launch of the web player is the play button saying "Invalid OAuth Token" when trying to play something. I do not have much more information to replicate it, other than the fact that it started happening on Mac OSX once the web player was launched and I also installed the mac spotify app.
Tested on Chrome (OSX and Windows 7) , Safari (OSX)
3) Button asks for App Installation
Another issue : On clicking the play button a spotify web page asks for installation of the app. Also discussed here:
https://stackoverflow.com/questions/16348049/spotify-play-button-not-working-in-google-chrome
Noticed this only in Chrome in Mac OSX.
Questions
Is it possible to fix if the button uses the Desktop apps or the Web Player in the mean time ?
Can we get any more information regarding the OAuth Error described above?

Embedding Facebook Social Like Plugin in Windows 8 Metro app page

Has anyone succeeded embedding Facebook Like button in metro app page? I tried both flavors HTML5 and iframe and none of them seem to be working fully.
What works:
Both flavors can render the not-logged-in version of Like button with total like count correctly.
What does not work:
Clicking on “Like” button takes user to metro IE for sign-in but its unable to return to the metro app page. User stays in metro IE blank page and even if you forcefully come back to metro app and restart, it still does not recognize that you are logged in to facebook.
Has anyone successfully able to add fully functional like button in metro app? Any pointers on what else to try?
No you can't. You can't integrate js from the outside like you would do on a normal webpage.
Instead you can login to Facebook from a Windows 8 application using OAuth. Once you have a valid access token you can perform any action using Facebook's Graph API, but liking a page is not supported (though the documentation is misleading).
Take a look at the Web Authentication sample SDK app.