我正在使用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;)...这个更改发生在昨晚,是否有其他人在身份验证方面遇到同样的问题?
我登录的权限只是[],(不提供权限只使用默认值)
答案 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以获取有关如何执行此操作的一些信息。