Firebase Facebook身份验证中缺少第三方用户数据中的照片字段'

时间:2014-08-16 19:59:49

标签: ios facebook firebase firebasesimplelogin

我正在使用Firebase简单登录Facebook,昨晚遇到了一些问题。以权限作为空数组登录后(默认)我得到了这个

thirdPartyUserData = {
    email = <String>
    "first_name" = <String>
    gender = <String>
    id = <String>
    "last_name" = <String>
    link = <String>
    name = <String>
}

不同之处在于,现在我看不到这样的图片&#39;字段,这是一个带有&#39;数据的字典&#39; (以及&#39;,&#39; url&#39;)...这个更改发生在昨晚,是否有其他人在身份验证方面遇到同样的问题?

我登录的权限只是[],(不提供权限只使用默认值)

2 个答案:

答案 0 :(得分:2)

感谢您的时间,

我还没有完全解决这个问题,但是如果我有其他人遇到同样的问题(在iOS上),你应该查看Jenny Tong建议的方法;如果没有个人资料图标,您可以重建网址;

http://graph.facebook.com/%@/picture?type=small http://graph.facebook.com/%@/picture?type=normal http://graph.facebook.com/%@/picture?type=large

其中%@是用户的facebookID。所以在我的情况下,我做正常......

authClient.loginToFacebookAppWithId(kFacebookAppId, permissions: [], audience: ACFacebookAudienceOnlyMe, withCompletionBlock: {(error:NSError!, user:FAUser!) in ...})

如果我在picture中找不到thirdPartyUserData,我会回到上面的重建。即使用户没有Facebook个人资料图片(你得到默认剪影),它也能正常工作。

答案 1 :(得分:0)

第三方数据的内容是Facebook及其部分API的范围;它可以在他们选择的任何时候改变。您可以启用的具体选项以及您收到的内容涵盖in this Facebook page under "reference"。您可能想要尝试这些。我确实在扩展权限下看到“user_photos”。

关于“权限数组”:要控制thirdPartyUserData内容中显示的内容,请在简单登录中将这些参数设置为逗号分隔scope变量的一部分(字符串不是数组)。请阅读Facebook guide以获取有关如何执行此操作的一些信息。