最近,我开始了将我的应用程序与facebook-sdk集成的冒险。
我有一个提供使用Facebook登录的应用程序。
因此,在与Facebook建立 session 之后,该想法是从用户那里获取一些数据,并在我的服务器上使用一些数据创建一个新的数据,
因此,我正在使用最新版本facebook sdk-3.1。
我创建了一个具有用户权限的 session 来获取电子邮件。
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];
}];
成功创建 session 后,我开始创建用户。
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的用户的其他数据,电子邮件和图片的个人资料,发送给我的服务器?
谢谢
最佳答案
您在用户对象本身中拥有用户的个人资料图片。
只需创建FBProfilePictureView对象,设置对象的ProfileID属性即可。
例如
FBProfilePictureView *profileImage = [[FBProfilePictureView alloc] initWithFrame:frame];
profileImage.profileID = user.id;
它将显示用户的个人资料图片。
您可以在处理程序响应中添加以下代码。
关于iphone - 使用iOS Facebook-SDK 3.1获取电子邮件和个人资料图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938402/