0
私は以前の投稿をすべて見て、解決策を見つけることができません。私は接続しており、電子メール以外はすべて返っています。私はそれを受け取ることができる最新のバージョンでいくつかの変更がありますか?あなたは次のコード行を使用して許可を書く場合は、電子メール、名前、ID、生年月日を取得しますFBSDKがユーザーの電子メールを返さない
-(void)checkFacebookFriends {
[FBSDKAccessToken refreshCurrentAccessToken:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"user_friends"]) {
[self makeFacebookFriendsRequest];
// TODO: publish content.
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
loginManager.loginBehavior = FBSDKLoginBehaviorWeb;
[loginManager logInWithReadPermissions:@[@"email", @"user_friends", @"public_profile"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
//TODO: process error or result.
if (error == nil) {
[self makeFacebookFriendsRequest];
}
else {
NSLog(@"no");
}
}];
}
}];
}
-(void)makeFacebookFriendsRequest {
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:[NSString stringWithFormat:@"%@/friends", [FBSDKAccessToken currentAccessToken].userID]
parameters:@{@"fields": @"email,name,picture"}
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
NSMutableArray *temp = [NSMutableArray new];
for (NSDictionary *user in [result objectForKey:@"data"]) {
FacebookUser *fbUser = [[FacebookUser alloc] initWithDictionary:user error:nil];
[temp addObject:fbUser];
}
// self.facebookUsers = temp;
// [self.tableView reloadData];
// Handle the result
}];
}
Facebookは携帯電話番号での登録のみを許可しています。だから、あなたは電子メールアドレスを取得していない可能性があります。 –
@BhavukJain私は私のチームと一緒にテストしています。彼らはまだそれを見ていない、通常の電子メールを登録しています。 –
ログインしているアカウントの電子メールアドレスは取得できますが、友人のアドレスは取得できません。 –