MonkeyBonkey
MonkeyBonkey

Reputation: 47881

How do I get the Facebook user Id from the Facebook object in the iOS SDK?

I see that the access token is available in the Facebook object, but I don't see a Facebook user Id.

I could make a graph request to "me" to get the Facebook Id, but I'd prefer not to make the extra api call.

Upvotes: 10

Views: 11640

Answers (4)

Alexandre G
Alexandre G

Reputation: 1693

Can get it with [FBSession activeSession].accessTokenData.userID

Upvotes: 0

k06a
k06a

Reputation: 18765

You can just use this:

[[account valueForKey:@"properties"] valueForKey:@"uid"]

E-mail can be found with this:

[[account valueForKey:@"properties"] valueForKey:@"ACUIDisplayUsername"]

where account is ACAccount type of course

Upvotes: 0

Juan
Juan

Reputation: 1426

There is an easy way to get this these days; assuming you already have a FBSession open, you could just do this:

[FBRequestConnection startForMeWithCompletionHandler:
  ^(FBRequestConnection *connection, id result, NSError *error)
  {
      NSLog(@"facebook result: %@", result);
  }];

Upvotes: 15

bkaid
bkaid

Reputation: 52073

You will have to call /me to get the id. iOS access tokens are now encrypted and thus you won't be able to parse the user id from it. Also, server side tokens will all be encrypted with oauth 2.0 soon too.

Upvotes: 8

Related Questions