Facebook请求未输出任何电子邮件。我怎么得到这个?我的登录/注册过程需要它
- (void)request:(FBRequest *)request didLoad:(id)result{
NSLog(@"FACEBOOK RESULT %@ ", result);
}
这是最初的要求:
[facebook requestWithGraphPath:@"me" andDelegate:self];
最佳答案
如果没有请求其他权限来获取email
属性,请参见https://developers.facebook.com/docs/reference/login/email-permissions/。
我的应用程序使用以下代码首先检查Facebook session 是否有效(self.facebook
是使用Facebook
初始化的initWithAppId
对象):
if (![self.facebook isSessionValid]) {
NSArray* permissions = [NSArray arrayWithObjects: @"email", nil];
[self.facebook authorize:permissions];
} else {
// Since we have a valid session we can get the userinfo
[self getFacebookUserInfo];
}
您的应用程序提示符将指示“使用此应用程序需要:*您的基本信息*您的电子邮件地址”如果用户授权您获取此信息,则您返回的访问 token 将设置为允许您获取电子邮件地址的位。 ,以下内容将起作用:
-(void)getFacebookUserInfo {
[self.facebook requestWithGraphPath:@"me" andDelegate:self];
}
假设您的
-(void)request:(FBRequest *)request didLoad:(id)result
方法可用(看起来确实可用)。请注意,本文中未提供SSO(单一登录)的完整流程,您需要详细了解https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/#implementsso。
另请注意,您可能正在使用iOS 6弃用的API,在继续之前,请先查看https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-2.0-to-3.1/。
关于ios - Facebook请求不返回电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991523/