【问题标题】:Parse and Additional Facebook Permissions (iOS)解析和其他 Facebook 权限 (iOS)
【发布时间】:2014-05-02 17:47:21
【问题描述】:

在 Parse(适用于 iOS)中有两种 Parse 方法用于重新授权 Facebook 用户(以获得额外的权限):

  • reauthorizeUser:withPublishPermissions:audience:block:
  • reauthorizeUser:withPublishPermissions:audience:target:selector:

不幸的是,这两种方法都适用于publishPermissions。我很困惑,因为似乎无法在初始登录后添加额外的读取权限(即扩展配置文件权限)。

Facebook 建议,在进行一般登录时(即在打开应用程序时),您只需请求基本权限,然后根据需要请求扩展权限,以免吓跑用户。

那么对于 iOS 版 Parse 和 Facebook,这是否意味着我们需要在初始登录时请求我们可能需要的每一个读取权限?

总体而言,Parse 文档和框架似乎缺少很多 Facebook 在各种场景中的登录说明。我们被引导查看 Facebook SDK,但那里的所有内容似乎都适用于 FBSession,目前尚不清楚哪些方法被 Parse 替换,以及除了 Parse 之外还需要哪些方法。

例如,我有一个应用程序,用户可以在应用程序启动时通过 FB 登录 Parse,但并非必须如此。如果他们确实登录,他们只被要求提供基本权限,正如 FB 所建议的那样。然后,如果用户尝试执行某些操作,则会要求他们提供该特定操作的权限。我需要为扩展配置文件以及 publish_actions 授予额外的读取权限。

在这种情况下,谁能给我一些指导,或者给我指出一个非常彻底、最新的例子? Parse FB Scrumptious 示例代码起初对我来说看起来很有希望,但它已经严重过时了。

谢谢!

【问题讨论】:

  • 我也有同样的问题。 Parse 没有很好地说明如何使用它自己的类。

标签: ios objective-c facebook permissions parse-platform


【解决方案1】:

显然有不止一种方法可以做到这一点。我发现使用 Parse for Android 最简单的方法是这样的:

   Collection<String> publishPermissions = Arrays.asList("publish_actions");
   ParseFacebookUtils.linkWithPublishPermissionsInBackground(user, myActivityOrFragment, publishPermissions, new SaveCallback() {...});

这意味着登录后,您应该使用您的用户参考和新的权限列表调用 linkWithPublishPermissionsInBackground。它将打开一个新的 Facebook 窗口,请求该权限并将结果链接到您的用户。

我测试过的这段代码可以正常工作。但似乎 Parse 并不那么聪明,有些事情它会自动执行,有些则不会。所以在那之后你需要调用类似的东西:

   ParseFacebookUtilities.linkInBackground(ParseUser, AccessToken)

要在服务器上实际保存给用户,否则只能在应用运行时工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多