Joao Paulo
Joao Paulo

Reputation: 137

Fetching user data from Facebook on Xcode

I am trying to develop a simple app, which, retrieves data from Facebook, when the user connects to it.

After reading Facebook's example about how to retrieve User's photos and User's names, I just want to get information such as gender, city, e-mail, and date of birth, for example.

The following part, is where I got stuck:

- (void)populateUserDetails
{

    if (FBSession.activeSession.isOpen) {


        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection,
           NSDictionary<FBGraphUser> *user,
           NSError *error) {
             if (!error) {
                 self.userNameLabel.text = user.name;
                 self.userProfileImage.profileID = user.id;

             }
         }];

    }

}

My questions are:

Upvotes: 1

Views: 4347

Answers (1)

Borbea
Borbea

Reputation: 422

First you must ask user for permissions to access his gender, email, city ...

You make a array with required permissions and add it to the openActiveSessionWithReadPermissions: method

NSArray *permissions = [[NSArray alloc] initWithObjects:@"user_birthday",@"user_hometown",@"user_location",@"email",@"basic_info", nil];

  [FBSession openActiveSessionWithReadPermissions:permissions
                                     allowLoginUI:YES
                                completionHandler:^(FBSession *session,
                                                    FBSessionState status,
                                                     NSError *error) {
                                      }];

Then make a request like this to get informations you wanted

[FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
       NSLog(@"%@", [result objectForKey:@"gender"]);
       NSLog(@"%@", [result objectForKey:@"hometown"]);
        NSLog(@"%@", [result objectForKey:@"birthday"]);
        NSLog(@"%@", [result objectForKey:@"email"]);
   }];

I hope i resolved your problem.

Upvotes: 4

Related Questions