reauthorizeWithPublishPermissions和openActiveSessionWithPublishPermissions之间的区别?

时间:2012-10-19 08:21:23

标签: ios facebook sdk facebook-authentication

截至Facebook iOS SDK 3.1.1,Facebook将openActiveSessionWithPermissions分为两部分: openActiveSessionWithReadPermissions和openActiveSessionWithPublishPermissions(解释here)。

然而,Facebook的文档说首先打电话给openActiveSessionWithReadPermissions, 然后拨打reauthorizeWithPublishPermissions。我没有看到何时应该使用openActiveSessionWithPublishPermissions的任何解释。

请帮助我理解两种方法之间的区别以及何时应该使用它们。

提前致谢,

2 个答案:

答案 0 :(得分:0)

以下是一些可能的情况:

  1. 用户首次访问您的应用并且从未授权您的应用。
  2. 用户正在返回您的应用,并且之前已经授权您的应用。缓存的令牌可用,以便可以打开会话。缓存的令牌还存储以前授予的权限。
  3. 如果是(1),您只能打开会话以获取读取权限。您不能在第一次要求发布权限。

    如果是(2),您可以要求发布权限。你必须检查是否有缓存的令牌。

    在任何情况下(1)或(2),您可以在最初打开会话后调用重新授权方法。

答案 1 :(得分:-2)

您可以遵循两种方法:

  • 甲。当用户第一次连接到Facebook并授权您的应用时,您可以要求用户获取发布操作的权限。

在这种情况下,您需要使用 reauthorizeWithPublishPermissions :..

  • B中。另一种方法是在他们想要执行特定发布操作时请求权限。

在这种情况下,您需要首先使用 reauthorizeWithPublishPermissions reauthorizeWithPublishPermissions

恕我直言,第一种方法更加无缝,但最终可能会导致糟糕的结果,因为有些用户不希望在他们第一次授权应用时提供权限。第二种方法需要用户进行更多交互,但可以让他们获得更多控制权。

Facebook建议使用第二种方法,但它实际上是您的选择。

干杯