我已将facebook connect集成到我的iPhone Xcode 4项目中。这是iPhone FBconnec的代码。 FBconnect.h和FBSession.h已经包含在内。
- (void)viewDidLoad{ _session = [[FBSession sessionForApplication:@"APPKey"
secret:@"APPSecret"
delegate:self]retain];
FBLoginButton* fbButton = [[[FBLoginButton alloc] init] autorelease];
fbButton.frame = CGRectMake(228, 50, 85, 50);
[self.view addSubview:fbButton]; }
代码工作正常,但对于某些Facebook帐户运行FQL查询以从用户选择电子邮件。我得到NULL,如下所示
length of users Array: (
{
"contact_email" = "<null>";
email = "<null>";
"first_name" = Ali;
"last_name" = Subhani;
uid = 696377693;
}
如何获得扩展权限。我只是使用以下代码来运行查询。其中包含单词params,我认为它必须与FBRequest做一些事情。看看下面的代码
- (void)getFacebookName {
//==================== MAKING FACEBOOK REQUEST =============================
NSString* fql = [NSString stringWithFormat:
@"select uid,first_name,last_name,email from user where uid == %lld",
self._session.uid];
NSDictionary* params =
[NSDictionary dictionaryWithObject:fql
forKey:@"query"];
[[FBRequest requestWithDelegate:self]
call:@"facebook.fql.query" params:params];}
我应该在哪里输入扩展权限,以便我可以收到用户电子邮件。
感谢。
答案 0 :(得分:1)
我用
[appDelegate.facebook authorize:
[NSArray arrayWithObjects:
@"offline_access", @"email", @"user_checkins", @"publish_checkins", nil]
delegate:delegate
localAppId:localAppId];
...授权和请求电子邮件访问(使用上面的@"email"
权限密钥)。我不确定用户是否可以没有电子邮件地址,因为他们至少有一个登录。
然而,Facebook允许用户通过任意转发到其常规电子邮件帐户的@ facebook.com帐户对您进行模糊处理。