如何在 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 dateId

【问题讨论】:

我一直在寻找这个找不到任何东西,正在寻找文档,但还没有可用的文档。运气好的话 ?请更新 【参考方案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 用户名? [关闭]

如何在应用程序中获取用户 Facebook 朋友的姓名、数量和 ID? [关闭]

如何在 Swift 中从 Facebook 获取用户名

如何在不提示用户提供 Facebook 权限的情况下在 iOS 应用程序中获取公共 Facebook 页面的提要?