1

iOS初心者です。アプリを作成しようとしていて、stackoverflow や他のサイトで多くの投稿を参照しました。次のコードを使用して Facebook アカウントにアクセスしました。

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];

if (appDelegate.session.isOpen) {
    [appDelegate.session closeAndClearTokenInformation];

} else {
    if (appDelegate.session.state != FBSessionStateCreated) {
        appDelegate.session = [[FBSession alloc] init];
    }
    [appDelegate.session openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {
    }];
}

その後、関数で次のコードを使用して、ユーザーの Facebook の詳細にアクセスしました。

    if (FBSession.activeSession.isOpen) {
    [[FBRequest requestForMe] startWithCompletionHandler:
     ^(FBRequestConnection *connection,
       NSDictionary<FBGraphUser> *user,
       NSError *error) {
         if (!error) {
             _FirstName.text = user.first_name;
             regisrationdetails.fbid = user.id;
             _LastName.text=user.last_name;
             _EmailAddress.text=user.email;
             NSArray *locationarray=[[NSArray alloc]initWithObjects:user.location,nil];
             _City.text=[locationarray objectAtIndex:1];
             NSLog(@"%@",user.first_name);

         }
     }];

エラーは表示されていませんが、Facebook からテキスト フィールドの情報を取得できません。これが得意な方が情報にアクセスする方法を知っている場合は、助けてください。

4

2 に答える 2

1

これを試して..

- (void)fetchFacebookUserInfo {

    if ( FBSession.activeSession.isOpen) {

    [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection,
                                                           id<FBGraphUser> user,
                                                           NSError *error) {
        if (!error) {
            NSString *name = user.name;
            NSString *userName = user.username;
            NSString *firstName = user.first_name;
            NSString *lastName = user.last_name;
            NSString *email1 = [user objectForKey:@"email"];
            NSString *birthday1 = user.birthday;
            NSString *locale = [user objectForKey:@"locale"];
            NSString *location = [user.location objectForKey:@"name"];

      }

  }];
 }
于 2013-10-30T09:20:09.437 に答える