来自iOS的Facebook AccessToken无权访问电子邮件权限

时间:2013-11-18 03:04:03

标签: ios facebook facebook-login

我的应用支持Facebook登录,很快将发布到Apple Appstore。我正在测试Facebook登录一段时间,它似乎一直在工作到现在。当我登录时,Facebook返回的访问令牌没有电子邮件作为权限之一,我需要电子邮件才能注册我的应用程序。在我的应用程序设置下的developer.facebook.com上,我有以下设置

 User & Friend Permissions: email user_about_me user_birthday
 Extended Permissions: read_friendlists

我也从我的设备获得了accessToken并使用了https://developers.facebook.com/tools/debug/并在那里粘贴了我的访问令牌,但它没有作为范围之一的电子邮件(列出的唯一范围是user_friends)。

Facebook上的应用设置为实时(非沙箱),以便每个人都可以访问它。同样在iOS上,即使我通过成功登录Facebook将我的应用程序访问Facebook,我也没有在Settings-> Privacy-> Facebook下列出我的应用程序。当我按Facebook登录时,它会打开Facebook网站,并说下面的“'我的应用程序'将收到以下信息:您的公开个人资料和朋友列表。”它没有在那里提到电子邮件。

我已从iOS移除Facebook应用程序,从iOS设置退出Facebook帐户,重新启动设备并删除我的应用程序并再次安装,似乎没有任何工作适用于iOS。我们有一个Android版本的应用程序,这是有效的(能够收到电子邮件)没有任何问题。

感谢任何帮助。

编辑:

同样在Facebook上,它说我的应用程序在10月25日访问了电子邮件(我的个人资料)。因此它能够在当天访问电子邮件。

1 个答案:

答案 0 :(得分:0)

但是,您要求登录时必须在基本权限之上手动请求电子邮件。你可以通过在readPermissions下面放一个包含字符串email的数组,就像这样......

fbLoginView.readPermissions = @[@"email"]

或者openActiveSessionWithReadPermissions:allowLoginUI:completionHandler将第一个参数设为@[@"email"]

奇怪的是,我发现应用权限通常与应用获取的权限无关。