【问题标题】:Facebook v2 integration with iOS SDKFacebook v2 与 iOS SDK 的集成
【发布时间】:2014-07-18 17:18:52
【问题描述】:

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

我对此有些怀疑。

  1. 我想根据要求发送电子邮件。
  2. 如 Facebook 升级指南中所述,我们可以重新询问用户有关拒绝权限的问题 Re-asking for Declined Permissions

这是在重新询问但未收到用户电子邮件时尝试执行的代码示例

    [[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];
                      }
              }];
       }
}

【问题讨论】:

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


    【解决方案1】:

    您不能将电子邮件设为必需的权限,请参阅此处:https://developers.facebook.com/docs/apps/upgrading#v2_0_login_optional_permissions

    即使用户授予您的应用权限,也不是所有用户都有可用的电子邮件地址 - 通过手机号码注册 Facebook、电子邮件地址被退回或需要重新验证的用户将无法通过 API 获得电子邮件

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-09
      • 2013-06-06
      • 2011-08-26
      • 2012-05-25
      • 2012-01-25
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      相关资源
      最近更新 更多