1

我知道这似乎是以前已经回答过的问题,但我们真的被困在这里和困惑!(经过数小时的研究)

我们有一台服务器需要自动获取我们其中一个页面的洞察信息。我创建了一个 facebook 应用程序,并且作为相关页面管理员的用户已授予应用程序 manage_pages 和 read_insights 权限。

现在,如果我发布到下面的链接,我会得到一个访问令牌,但这不适用于更改见解:(访问令牌是一个相对较短的字符串)

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=APP_ID_HERE&client_secret=APP_SECRET_HERE

现在,如果我在以页面管理员身份登录的浏览器中尝试此操作,我将获得正确的访问令牌:

https://graph.facebook.com/oauth/authorize?client_id=[APP_ID]&response_type=token&grant_type=client_credentials&redirect_uri=[REDIRECT]&scope=read_insights,manage_pages

然后,我使用以下方法获取 JSON:

[PAGE_ID]/insights/[METRIC]/lifetime?access_token=[ACCESS_TOKEN]

请帮忙,因为我是 facebook API 的新手,真的需要弄清楚这一点。

似乎所有信息都要求用户登录以获取访问令牌,但我们希望我们的服务器收集我们自己页面的见解。

提前致谢!

4

1 回答 1

0

有两种类型的访问令牌,一种用于用户,另一种用于特定页面(使用页面访问令牌时您充当页面)。

获得具有 manage_pages 权限的用户访问令牌后,您可以使用它从 https://graph.facebook.com/me/accounts?access_token=[USER_ACCESS_TOKEN] 获取页面访问令牌然后使用该令牌您应该能够查询洞察数据。

没有办法保证令牌将继续无限期地工作(离线许可已被弃用,并且在实践中也不是真正无限期的)。当令牌停止工作时,您需要再次手动获取新令牌。

于 2012-04-24T06:22:17.720 回答