0

我有一个 facebook 用户的 ID。我如何获得他们的用户名?

具体来说,我使用的是 FBFriendPickerController

for (id<FBGraphUser> user in self.friendPickerController.selection) {
   NSLog(@"The Facebook User: %@", user);
}

^这会输出姓名、身份证、名字、姓氏、个人资料照片等内容,但不会给出用户的用户名。

那么,关于 FBFriendPickerController,获取选定用户的用户名的最佳方式是什么?

4

2 回答 2

1

在设置朋友选择器控制器时,您可以执行类似的操作:

// Initialize the friend picker
FBFriendPickerViewController *friendPickerController = 
    [[FBFriendPickerViewController alloc] init];
...
// Ask for friend device data
friendPickerController.fieldsForRequest = 
    [NSSet setWithObjects:@"username", nil];

然后当返回好友选择器数据时,用户名信息也应该返回。

您可以实现朋友选择器委托方法以获取用户名信息的迂回方式。实现:friendPickerViewController:shouldIncludeUser:

在此方法中,您可以检查应包含用户名的返回数据:

- (BOOL)friendPickerViewController:(FBFriendPickerViewController *)friendPicker
             shouldIncludeUser:(id<FBGraphUserExtraFields>)user
{
    NSString *username = user.username;
    // Process the username however you wish to.
    return YES;
} 

对于类似的问题,在这种情况下寻找“设备”信息,请参阅文档:https ://developers.facebook.com/docs/howtos/filter-devices-friend-selector-using-ios-sdk/

于 2013-05-22T00:59:56.887 回答
0

行。我想了个办法。

您可以通过查看返回的 JSON 找到用户名

graph.facebook.com/(fb_id)

但是有没有更好的方法,直接来自friendPickerController,这就是问题所在。

于 2013-05-19T17:08:03.550 回答