Facebook SDK v.3.18.2 を使用しています
ユーザーの名、姓、電子メール、生年月日のみが必要です。生年月日以外のすべてを取得しています。
私は確かに許可を間違えていますか?わからない。
私の問題を見つけるのに役立つコードを次に示します。
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile"] allowLoginUI:YES completionHandler:
^(FBSession *session, FBSessionState state, NSError *error) {
// Call the sessionStateChanged:state:error method to handle session state changes
[self sessionStateChanged:session state:state error:error];
}];
// This method will handle ALL the session state changes in the app
- (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error
{
// If the session was opened successfully
if (!error && state == FBSessionStateOpen){
NSLog(@"Session opened");
if (FBSession.activeSession.isOpen) {
// This is not working though I'm putting it as comment
// [[FBRequest requestForMe] startWithCompletionHandler:
// ^(FBRequestConnection *connection,
// NSDictionary<FBGraphUser> *user,
// NSError *error) {
// if (!error) {
// NSLog(@"User Info : %@",user);
// }
// }];
[[FBRequest requestForGraphPath:@"me"] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@",result);
}];
}
return;
}
出力ログは次のとおりです。
{
email = "email@domain";
"first_name" = Hemang;
gender = male;
id = someId;
"last_name" = Shah;
link = "https://www.facebook.com/app_scoped_user_id/someId/";
locale = "en_US";
name = "Hemang Shah";
timezone = "5.5";
"updated_time" = "some date and time";
verified = 1;
}
でも生年月日が抜けていて、プロフィールにも設定しました。
アップデート:
次の権限で試してみましたが、機能しませんでした!
「user_birthdate」または「birthday」