facebook sdk ios 获取用户信息
facebook sdk ios get user information
我正在使用 facebook sdk 3.0
,但是当我尝试获取用户的信息(如电子邮件等)时遇到困难。
我的代码:
- (IBAction)fbLogin:(id)sender {
[self facebookLogin];
}
-(void) facebookLogin
{
[FBSession openActiveSessionWithReadPermissions:@[@"email"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *FBuser, NSError *error) {
if (error) {
}
else {
name = [FBuser name];
email = [FBuser objectForKey:@"email"];
pic = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", [FBuser objectID]];
}
}];
[self checkUser];
break;
}
}];
}
我的代码打开 Facebook 登录,并请求授权,但在那之后它 returns 我的应用程序 showing/geting 什么都没有。
我通过断点进行诊断,发现在 switch (state)
行之后它只是简单地退出而没有提供任何信息。
我的问题是,如何通过 facebook sdk 3.0
.
获取用户的电子邮件
add the below to app delegate:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
别忘了导入 header:
#import "FacebookSDK.h"
我正在使用 facebook sdk 3.0
,但是当我尝试获取用户的信息(如电子邮件等)时遇到困难。
我的代码:
- (IBAction)fbLogin:(id)sender {
[self facebookLogin];
}
-(void) facebookLogin
{
[FBSession openActiveSessionWithReadPermissions:@[@"email"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *FBuser, NSError *error) {
if (error) {
}
else {
name = [FBuser name];
email = [FBuser objectForKey:@"email"];
pic = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large", [FBuser objectID]];
}
}];
[self checkUser];
break;
}
}];
}
我的代码打开 Facebook 登录,并请求授权,但在那之后它 returns 我的应用程序 showing/geting 什么都没有。
我通过断点进行诊断,发现在 switch (state)
行之后它只是简单地退出而没有提供任何信息。
我的问题是,如何通过 facebook sdk 3.0
.
add the below to app delegate:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
别忘了导入 header:
#import "FacebookSDK.h"