1

最近我开始了我的应用程序与 facebook-sdk 集成的冒险。

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

  • 姓名
  • 图片网址
  • 电子邮件
  • 脸书ID

因此,我使用的是最新版本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 的用户的其他数据、电子邮件和图像的个人资料发送到我的服务器?

谢谢

4

2 回答 2

10

您在用户对象本身中有用户的个人资料图像。

只需创建 FBProfilePictureView 的对象,设置对象的 ProfileID 属性。

例如

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

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

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

于 2012-10-19T11:27:08.440 回答
0

有用。只需添加

[self.view addSubview:profileImage];
于 2014-02-07T11:26:07.560 回答