使用 iOS Facebook-SDK 3.1 获取电子邮件和个人资料的图像



最近我开始了与Facebook-SDK集成的应用程序。

我有一个为Facebook提供登录的应用程序。因此,在与Facebook创建会话后,这个想法是从用户那里获取一些数据,并在我的服务器上创建一个新的数据,并使用一些数据,

  • 名称
  • 图像URL
  • 电子邮件
  • facebookid

因此,我正在使用最新版本,Facebook SDK-3.1。我与用户获取电子邮件的权限创建了会话。

    NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"user_location",
                        @"email",
                        nil];
[FBSession openActiveSessionWithReadPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
     [self sessionStateChanged:session state:state error:error];
 }];

会话是成功创建的,之后我开始创建用户。

 if (FBSession.activeSession.isOpen) {
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
             if (!error) {
                 self.userData.firstNameUser=user.name;
                 self.userData.lastNameUser=user.last_name;
                 self.userData.mainLocation=user.location.name;
                 self.userData.urlImageUser=user.link;
             }
         }];   
    }

那么,我如何使用最后一个SDK的用户获取其他数据,电子邮件 image的个人资料,发送到我的服务器?p>谢谢

您在用户对象本身中具有用户的配置文件图像。

只需创建fbprofilepictureview的对象设置对象的profileId属性。

例如。

FBProfilePictureView *profileImage = [[FBProfilePictureView alloc] initWithFrame:frame];
profileImage.profileID = user.id;

它将显示用户的个人资料图像。

您可以在处理程序响应中添加以下代码。

它有效。只需添加

[self.view addSubview:profileImage];

最新更新