使用应用程序访问令牌调用 facebook api 并从用户页面检索提要

Call facebook api with app access token and retrieve feed from user's page

这听起来像是一个愚蠢的问题,但我不明白令牌是如何工作的。

上下文:我有一个网络应用程序,用户可以在其中按下一个按钮,然后他们使用他们的 facebook 凭据登录,并获得 'manage_pages' 的许可。 webapp 的想法是服务器上每 5 分钟就会有一个 cron 运行,它将检索用户的帖子并将它们显示在 webapp 中。

步骤:

  1. 用户点击按钮,登录到 facebook(所以我可以获得一个访问令牌,我们称之为 user-access-token)。
  2. Webapp 发出请求“/me/accounts”(使用 user-access-token),因此我可以获得用户页面之一的页面 ID。
  3. Webapp 请求我的内部 API 并在数据库中存储用户的 PageID。

现在,我有提到的 cron,每 5 分钟发出一次请求“{page_id}/feed”以获取此页面的帖子,然后在我的网络应用程序中显示它们。为此,我将 Facebook SDK 用于 PHP 并且我这样做:

I do the request '{page_id}/feed', sending my-app-access-token but fails

如果该页面未 public 或以任何方式限制访问,则您不能使用应用访问令牌,但需要为可以查看该页面的用户使用用户访问令牌,或者页面访问令牌。

[...] But if I do that, I think that the token will expire after some time, right?

扩展页面访问令牌没有默认到期时间。 (但是,它们可能会因其他原因而过期,例如,如果其令牌用于请求页面令牌的页面管理员用户更改了他们的帐户密码。)

https://developers.facebook.com/docs/facebook-login/access-tokens