大佬教程收集整理的这篇文章主要介绍了iOS Facebook SDK:尽管已授予权限,登录也不会返回电子邮件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
自Graph-API版本2.4(Pod版本4.4.0)以来,Facebook Graph API打破了其向后兼容性(以默认方式使用时)。
若要解决此问题,您可以使用显式图形版本2.3:
[[FBSDKGraphRequest alloc] initWithGraPHPath:@"me" parameters:nil
tokenString:[FBSDKAccesstoken currentAccesstoken].tokenString version:@"v2.3"
httpMethod:nil]
在这种情况下,FB确保v2.3至少在两年后可用。 https://developers.facebook.com/docs/graph- apI/OvervIEw:
您可以通过询问您感兴趣的特定字段来使用新的Graph-API(v2.4):
[[FBSDKGraphRequest alloc] initWithGraPHPath:@"me" parameters:@{@"fIElds" :
@"email,name"}]
我正在尝试通过facebook
sdk获取信息,但到目前为止,我只获得用户的ID和名称,尽管我确定有可用的电子邮件,因为这是我的帐户。我一直在这里看几个答案,但到目前为止,没有一个解决我的问题。我在做什么错,为什么在我请求多个权限时它不返回更多数据?
这是我的代码:
fbLoginManager.logInWithReadPermissions(["public_profile","email","user_friends","user_about_me","user_birthday"],handler: { (result,error) -> Void in
if ((error) != nil)
{
// Process error
println("There were an error: \(error)")
}
else if result.isCancelled {
// Handle cancellations
fbLoginManager.logOut()
}
else {
var fbloginresult : FBSDKLoginManagerLoginResult = result
if(fbloginresult.grantedPermissions.contains("email"))
{
println(fbloginresult)
self.returnUserData()
}
}
})
以及获取用户数据的功能:
func returnUserData()
{
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me",parameters: nil)
graphRequest.startWithCompletionHandler({ (connection,result,error) -> Void in
if ((error) != nil)
{
// Process error
println("Error: \(error)")
}
else
{
println("fetched user: \(result)")
if let userName : NSString = result.valueForKey("name") as? NSString {
println("User Name is: \(userName)")
}
if let userEmail : NSString = result.valueForKey("email") as? NSString {
println("User Email is: \(userEmail)")
}
}
})
}
哪个返回:
fetched user: {
id = 55555555;
name = "Kali Aney";
}
User Name is: Kali Aney
以上是大佬教程为你收集整理的iOS Facebook SDK:尽管已授予权限,登录也不会返回电子邮件全部内容,希望文章能够帮你解决iOS Facebook SDK:尽管已授予权限,登录也不会返回电子邮件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。