2

我刚刚开始代表管理员在 FB 粉丝页面上自动发布消息(例如,我在 eclipse 中运行代码,它应该在页面上发布消息)。我阅读了几个关于堆栈溢出的类似问题,浏览了 FB API 上的文档,但似乎我迷失在这片广阔的海洋中。我几乎没有疑问。

  1. 我是否需要在 Facebook 上创建一个可以与其 API 交互的 APP。我不能在我的代码(Java)中直接与它们交互吗?
  2. 发布状态的请求流程是什么?我的代码 -> 我的 FB 应用程序 -> 我的页面或我的代码 -> 我的 FB 页面
  3. 我看到两种不同类型的身份验证,服务器端和客户端。它们是否都需要,或者我可以选择其中之一。
  4. 任何指向此示例代码的链接都将非常有帮助。

我需要在比赛中展示这个,而且只有 1-2 天,搞清楚东西需要太多时间。任何帮助,将不胜感激。

谢谢

4

1 回答 1

2

1您需要一个 Facebook 应用程序,通过该应用程序与 Facebook 进行通信。应用程序可以请求各种权限,当用户授予时,您可以访问用户的数据或页面。特别感兴趣的是manage_pages权限(请参阅权限概述)。

2基本步骤是:应用程序请求执行某些操作的权限,用户授予它们,然后您获得一个访问令牌,您可以使用该令牌与 API 进行交互。因此,最初的流程是:您的代码 > 应用程序(和用户)> Facebook API。之后,它是您的代码 > Facebook API(访问令牌作为 URL 中的 GET 参数传递)。

以上是如果您正在做与用户相关的事情。对于页面,它的工作方式有些相同,但您仍然需要用户访问令牌。如果您有manage_pages权限,您可以访问/me/accounts(使用用户访问令牌),您将收到包含页面访问令牌的响应。然后,该令牌可用于代表该用户在页面上执行操作。这仅适用于用户是页面管理员的情况。

3到目前为止,我只使用了客户端身份验证,但也可以只使用服务器端身份验证。一些访问令牌的寿命比其他令牌长。例如,只要用户登录 Facebook,用户访问令牌就有效。但是其他访问令牌(例如页面)的寿命更长。然后,您可以存储访问令牌并重复使用它。

4在撰写本文时,我对 Facebook API 的 Java 库并不熟悉,所以在这里我无法为您提供帮助。

于 2012-04-06T21:26:37.823 回答