0

私のアプリケーションでは、ユーザーの場所を取得しているときに Null 値を返し、生年月日も Null 値を返します。コードは次のとおりです。

 - (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 objectForKey:@"id"];
             self.userbirthday.text=user.birthday;
             self.userloc=[[user objectForKey:@"location"]  objectForKey:@"name"];

         }
     }];
   }
 }

rong with code とは何ですか?この問題の解決を手伝ってください。

4

1 に答える 1

2

誕生日と場所については、そのような許可を得る必要があります。したがって、次のように許可をリクエストする必要があります: Facebook SDK ドキュメント

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"user_location", // you need to have this permission
                            @"user_birthday", // to be approved
                            @"user_likes",
                            nil];
    return [FBSession openActiveSessionWithReadPermissions:permissions
                                              allowLoginUI:allowLoginUI
                                         completionHandler:^(FBSession *session,
                                                         FBSessionState state,
                                                         NSError *error) {
                                         [self sessionStateChanged:session
                                                             state:state
                                                             error:error];
                                     }];
}

次に、FBRequest を使用して誕生日と場所を取得します。特別な許可を必要としないため、username にアクセスできます。

于 2013-02-19T10:26:47.170 に答える