最近我开始了与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];