如何在 tvOS 中获取 Facebook 用户详细信息
Posted
技术标签:
【中文标题】如何在 tvOS 中获取 Facebook 用户详细信息【英文标题】:How to get Facebook User details in tvOS 【发布时间】:2016-02-05 05:51:55 【问题描述】:我在 tvOS 中使用 Facebook SDK 进行 登录。目前我使用了以下代码。
FBSDKDeviceLoginButton *button = [[FBSDKDeviceLoginButton alloc] initWithFrame:CGRectZero];
button.readPermissions = @[@"email"];
button.center = self.view.center;
[self.view addSubview:button];
第一个我很困惑我可以使用readPermissions = @[@"email"];
或publishPermissions = @[@"publish_actions"];
然后如何从 facebook 响应中获取用户详细信息,例如 firstName、lastName、email、Birth date 和 Id
【问题讨论】:
我一直在寻找这个找不到任何东西,正在寻找文档,但还没有可用的文档。运气好的话 ?请更新 【参考方案1】:一旦您拥有有效的令牌,就可以通过连接到我们的Graph API 来获取用户的详细信息。比如登录成功后获取名字和姓氏:
if ([FBSDKAccessToken currentAccessToken])
[[[FBSDKGraphRequest alloc] initWithGraphpath:@"me?fields=first_name,last_name" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
if (!error)
NSLog(@"fetched user:%@", result);
];
【讨论】:
您能否详细说明一下,例如我们如何获取电子邮件 ID、头像、性别@Chris Pan,以及当我们可以轻松获取数据时,这种方式背后的逻辑是什么,就像在移动 sdk 中一样那么为什么在 tvOS 中我们必须通过这种方式来做到这一点【参考方案2】:它与 mobile-sdk 不同,您应该尝试图形 api,就像 @chrispan 建议的那样,我已经尝试过了,并且运行良好。只需在参数中添加任意数量的字段,即可获得用户设置为公开的所有数据。
FBSDKGraphRequest.init(graphPath: "me", parameters: ["fields" : "email, gender, name, birthday"]).startWithCompletionHandler( (
FBSDKGraphRequestConnection connection, id result, let error: NSError? ) -> Void in
if(error == nil)
print("fetched user: %@", result)
)
现在,关于权限的问题。当用户在该特定点注册(第一次)时,您要求“读取权限”,而当您想将某些内容发布到他/她的时间轴时,使用“发布权限”。
【讨论】:
以上是关于如何在 tvOS 中获取 Facebook 用户详细信息的主要内容,如果未能解决你的问题,请参考以下文章
如何快速解析 TVos 中返回的 CKSubscription 用户信息字段
Facebook API:如何在facebook中获取登录用户的关注者列表[重复]
如何使用 facebook id 在 URL 中获取 facebook 用户名? [关闭]