ios - facebook sdk ios获取用户信息

标签 ios facebook cocoa-touch facebook-graph-api

我正在使用 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 登录,并请求授权,但之后它返回到我的应用程序,显示/没有任何显示。 我通过断点进行诊断,发现在 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];

}

不要忘记导入标题:

#import "FacebookSDK.h"

关于ios - facebook sdk ios获取用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586775/

相关文章:

ios - 什么比实际图像或绘制图像消耗更少的内存?

ios - 关闭 UIImageView 时无效的上下文 0x0

iphone - 在应用程序内部使用 SQLite 数据库的最佳方式

javascript - 以编程方式在 WebView 中以全屏方式打开 youtube 视频的 iframe - iOS

xcode - Facebook 登录问题 -canOpenURL : failed for URL: "fbauth2:///" - error: "(null)"

Python - 添加空值

c# - 应用打开时的调用方法

php - 新的 APNS 提供商 API 和 PHP

Javascript Facebook 变量问题

ios - MKMapView 到带有叠加层的 UIImage