Can users completely new to our iOS app still login with Facebook Graph API v1.0 if we specify v1.0 in the SDK as directed by Facebook? - facebook-graph-api

We know how to call Facebook Graph API v1.0 and are calling it in the iOS SDK (https://developers.facebook.com/docs/apps/upgrading) but new users are getting treated as though they're signing up with v2.0.
We know that once a user logs in via Graph API v2.0, there is no going back to v1.0 for that individual user (http://code-worrier.com/blog/changes-in-facebook-graph-api-2-dot-0/) but does anyone know if all new users to your app will automatically login through v2.0 and only previous users can login v1.0? We're using the Facebook iOS SDK v3.14.
Thanks so much.

New users signing up for your application since 4/30/2014 will return app-scoped id's. The version you use in the URL for the API request won't change that.

Here's what we found out: you can still log into / use the old version of the Facebook API (v1.0). The issue is the API version that gets called by your app depends on the Facebook iOS SDK version you are using in your app. So if you want to jump back to pre-v2.0 Facebook API, you need to be using an old version of the Facebook iOS SDK (3.13.1 and previous). They are all found here: https://developers.facebook.com/docs/ios/downloads
Keep in mind, Facebook is forcing developers to upgrade to v2.0 by April 30th of 2015. But, if you have a v2.0 headache now that you don't want to fix right away, this a decent band-aid solution. In our app, we upgraded the Facebook iOS SDK to get compliant with Apple's IDFA regulations, not knowing we were upgrading to v2.0 of the Facebook API. Since our app uses some features no longer available in v2.0, this was a huge issue.
Any users that may have signed up for your app while you were using v2.0 may need to delete app related info on Facebook so that they can log in fresh when you jump back to v1.0. This will allow you to get real Facebook user IDs and not app scoped user IDs.
The last small hurdle is that Apple is now rejecting many, if not all, apps that use the IDFA. All Facebook SDKs that use v1.0 use the IDFA (to my knowledge). The only way around it is to tell Apple that you are using it, but that it is attributed to a previously served advertisement (you do this on iTunes connect). See this article here: http://www.adexchanger.com/mobile/apple-throws-a-bone-to-app-marketers-blesses-idfa-for-attribution/
Again, this is not necessarily a 'proper' solution, but if you don't have the bandwidth / resources to fix your v2.0 issues right now, it can definitely help. Just make sure to get back to v2.0 before April 30, 2015.

Related

Is there anyway to use Facebook v2.6 API instead of latest v3.0 API?

There are certain API rate limits applied on Facebook v2.7 onwards. Is there anyway I can revert back to v2.6?
You can't use a deprecated API. There is no way you can use API v2.6 now.
The only possible way would be to get an old app that was created using API v2.6.
No you can't use an older version. You have to use the latest version.
You can find this on the facebook for developers website
An app can make calls to the version of the API that was the latest
available when the app was created, as well as any newer,
un-deprecated versions launched after the app is created.
As an example, if your app was created after v2.0 was released, it
will be able to make calls to v2.0 until the expiration date of that
version, and any subsequent versions (v2.1 etc) until their expiration
dates.

FB Graph API - cannot enter with my own App token

i facing an issue regarding the FaceBook Graph API.
actually a friend of me, have an FB App whitch can be used for the Graph API.
But in that case I activate a FB dev APP for myself, i'm not able to generate a valid security Token with the App-ID and App-Security.
At first the App is live and activated. For that I don't understand the error message at the end.
Second I don't want to have a User-Token with a validation for an hour.
These are the step's i following:
getting App Token
https://graph.facebook.com/oauth/access_token? client_id=20179479xxxxxx&client_secret=3048xxxxxxxxxxxxxxx&grant_type=client_credentials
The result i'm receving:
"access_token": "20179479xxxxxxx|Pqxxxxxxxxxxxxxxxxx",
Now if im trying to use the Graph API Explorer and trying these token as authentication, I'm facing an #200 OAuthexception
my request:
Get -> /v2.12/coca-cola
"(#200) Access to this data is temporarily disabled for non-active apps or apps that have not recently accessed this data due to changes we are making to the Facebook Platform. https://developers.facebook.com/status/issues/205942813488872/",
Have somebody any ideas how to solve or what i'm missing here?
With the Security Token from my friend he can use the example with coca-cola from the developer like in the documentation and example from FaceBook as well.
Thanks in advance
Facebook is changing the API due to a security issue. This means new apps have more restrictions and less access (for the minute) than apps that were already registered and using the API, probably why your friends key works. Seen as your app is either new or hasn't recently accessed the data you are requesting, you currently cannot fetch it.
Its not known what features will be removed from the API following this incident - as a result I wouldn't come to rely to heavily on any feature the API offers.
Im hearing that the ability to retrieve events could either be removed or the data you can access from an event is going to be severely limited, however thats not from any official facebook source. All apps will be subjected to a review according to this official facebook post, before they are granted access to the Events API, Groups API, and Pages API.

Authentication using Glass

We have an existing Android and iOS application that consumes REST API from our servers. The API provides a token to the authenticated users after they log in using their credentials (username, password combo.) from the mobile applications.
Now, we're planning to create a Google Glass application for the same. In this case, we'd like to use the existing REST API along with Glass also. The Glass app will be built natively using the GDK.
My concern is, how would the users be able to input credentials? Because, users may have signed up for the service using non-google accounts?
Many thanks in advance.
At the moment, there is no supported way for apps made with GDK Early Access to authenticate the user or provide a way to connect the Glass account to your auth system. The Glass team has indicated such methods are coming, however - the Strava Cycling app, for example, does this, and it is expected that a similar feature will become widely available as the GDK matures.
Strava Cycling appears to get its credentials at the time you setup the app through MyGlass. When you turn it on it redirects you to a website to log into Strava's service before completing the install.
I just gave a talk on this exact topic at Wearables DevCon. The solution I proposed is purely done through GDK. All the user has to do is sign into their Google Account on a phone/tablet/computer and enter a code that is shown on Glass.
Check out the slides here:
https://docs.google.com/presentation/d/1NepYwlKdEvLV0QH9ix2I8l-JY1kHjBR9AXKBNpgTI6g/edit
And the code here:
https://github.com/victorkp/GlassWebNotes
The latest Glass release (XE16) publishes the remote authentication API for apps distributed through MyGlass:
https://developers.google.com/glass/develop/gdk/authentication

Facebook sdk get users phone number or Address?

I think i dug through the whole facebook sdk documentation but can't seem to find the way to get the users Phone number or Address. Is this feature removed, as of spoken in this thread where it's suggested it will be re-enabled in a few weeks (2011).
This information is not available via the Facebook APIs and will not be added anytime soon. If you want this information from the user you should prompt them for it after they have logged into your application using Facebook.
Here's a link to Facebook's APIs:
https://developers.facebook.com/docs/reference/api/user/
You can use the graph API explorer to gain a clearer understanding of what information is and isn't available.

Sample of using Facebook Connect with MonoTouch

I'm using MonoTouch (latest version) and I want to be able to allow the user of my app to make a wall post based on a log entry made in this app. All I need is a simple implementation so that the user can tap "Share on Facebook" (UIActionSheet) and then it logs them into Facebook (shows the login) and returns the token which I can then use to make the WebRequest to post to their wall.
I've seen the MonoTouch bindings on github but have no idea how to use it. Can someone please provide a simple sample of how to just login to Facebook to retrieve a token so I can post. I know how to do the post, it's the auth process that I'm not getting right.
Thank you.
Neal
Neal,
I have added a sample that replicates about half of the Facebook sample here:
https://github.com/mono/monotouch-bindings/tree/master/facebook/sample
I would recommend to use client-side javascript login more than native device login.
Sooner or later you might want an Android, Windows Phone or even Facebook version.
Having an In-App browser wrapper to deal with javascript and direct Graph API calls are easier for cross-platform implementation. Just from my personal experience.