2

从 Facebook iOS SDK 3.1.1 开始,Facebook 分为openActiveSessionWithPermissions两部分:openActiveSessionWithReadPermissions 和 openActiveSessionWithPublishPermissions(在此处解释)。

但是,Facebook 的文档说先调用openActiveSessionWithReadPermissions,然后调用reauthorizeWithPublishPermissions。我没有看到关于何时应该使用openActiveSessionWithPublishPermissions.

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

提前致谢,

4

2 回答 2

0

以下是一些可能的情况:

  1. 用户第一次访问您的应用并且从未授权过您的应用。
  2. 用户正在返回您的应用,并且之前已授权您的应用。缓存的令牌可用,以便可以打开会话。缓存的令牌还存储以前授予的权限。

在情况 (1) 中,您只能打开一个会话以获得读取权限。您不能在第一次请求发布权限。

在情况(2)中,您可以要求发布权限。您必须检查是否有缓存的令牌。

无论是 (1) 还是 (2),您都可以在会话初始打开后调用 reauthorize 方法。

于 2012-11-14T22:05:53.640 回答
-2

您可以采用 2 种方法:

  • A. 您可以在用户第一次连接到 facebook 并授权您的应用程序时向他们请求发布操作的权限。

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

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

在这种情况下,您需要先使用reauthorizeWithPublishPermissions,然后再使用reauthorizeWithPublishPermissions

恕我直言,第一种方法更加无缝,但最终可能导致糟糕的结果,因为一些用户不想在他们第一次授权应用程序时授予权限。第二种方法需要用户进行更多的交互,但给予他们更多的控制权。

Facebook 推荐第二种方法,但它实际上是你的选择。

干杯

于 2012-10-29T22:54:24.930 回答