FBSDKGraphRequest不工作(iOS)
我试图在按下Facebook登录按钮时执行的代码块中使用FBSDKGraphRequest。然而,由于某种原因,这段代码从未执行过。原因可能是什么。我使用的按钮是FBSDKLoginButton,它工作得非常好。我只想检索一次登录后的用户信息,如姓名和电子邮件FBSDKGraphRequest不工作(iOS),ios,objective-c,xcode,facebook,facebook-graph-api,Ios,Objective C,Xcode,Facebook,Facebook Graph Api,我试图在按下Facebook登录按钮时执行的代码块中使用FBSDKGraphRequest。然而,由于某种原因,这段代码从未执行过。原因可能是什么。我使用的按钮是FBSDKLoginButton,它工作得非常好。我只想检索一次登录后的用户信息,如姓名和电子邮件 [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"email,name"}] startWithC
[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"email,name"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
NSLog(@"test");
if (!error) {
NSLog(@"fetched user:%@ and Email : %@", result,result[@"email"]);
}
}];
我使用了自定义的Facebook登录,而不是官方的Facebook FBSDKLoginButton。请尝试下面的代码。今天我集成了我的应用程序的Facebook登录,遇到了你的问题
- (IBAction)FacebookLogin:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile", @"email", @"user_friends"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error");
} else if (result.isCancelled) {
NSLog(@"Cancelled");
} else {
NSLog(@"Logged in");
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"email,name"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@ and Email : %@", result,result[@"email"]);
}
}];
}
}];
}
默认参数为id和名称,用于在用户公开电子邮件时查找电子邮件。在url字段中添加电子邮件信息,还可以添加所需的权限,如生日等
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=id,name,email" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"fetched user:%@", result);
}
}];
}
结果由用户名、邮件和id组成
然后,要分析配置文件信息,请执行以下代码:
[FBSDKProfile loadCurrentProfileWithCompletion:
^(FBSDKProfile *profile, NSError *error) {
if (profile) {
NSLog(@"Hello, %@!", profile);
}
}];
配置文件由userID、firstName、middleName、lastName、name、linkURL、refreshDate组成请为您的问题添加更多代码,因为目前还不清楚您打算如何运行上述代码,也不清楚您是否正确实现了
FBSDKLoginButton
。工作正常