Facebook v2与iOS SDK集成

时间:2014-07-18 17:18:52

标签: ios facebook email facebook-graph-api facebook-graph-api-v2.0

我试图将Facebook SDK与v2 Api集成。 由于Facebook允许用户拒绝他不想分享的任何许可(主要是电子邮件)。 但是,根据我们的要求,我们需要用户的电子邮件将其注册到服务器(电子邮件是主键),电子邮件也用于以多种方式连接用户。

我对此有些怀疑。

  1. 我想知道根据需要制作电子邮件。
  2. 如Facebook升级指南中所述,我们可以向用户重新询问拒绝的权限 Re-asking for Declined Permissions
  3. 以下是重新询问时尝试执行的代码示例,但未收到用户的电子邮件

        [[FBSession activeSession] requestNewReadPermissions:@[@"user_birthday",@"email"] completionHandler:^(FBSession *session, NSError *error) {
              if (session.state == FBSessionStateOpen) {
                   [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id<FBGraphUser> facebook_user, NSError *error) {
                          if (error) {
                                  [self fbRequestFailedWithError:error];
                          } else {
                                  [self processFacebookRequest:facebook_user];
                          }
                  }];
           }
    }
    

1 个答案:

答案 0 :(得分:1)

您无法使电子邮件成为必需的权限,请参阅此处:https://developers.facebook.com/docs/apps/upgrading#v2_0_login_optional_permissions

并非所有用户都有可用的电子邮件地址,即使他们授予您的应用权限 - 通过手机号码注册Facebook的用户,其电子邮件地址被退回或需要重新验证的用户将无法通过API获得电子邮件< / p>

您的代码看起来像重新请求权限的代码,但您也可能已被授予权限,但用户没有电子邮件地址