获取我的 Facebook 应用程序的访问令牌
Posted
技术标签:
【中文标题】获取我的 Facebook 应用程序的访问令牌【英文标题】:Getting an access token for my facebook app 【发布时间】:2012-05-04 14:06:49 【问题描述】:我知道这似乎是以前已经回答过的问题,但我们真的被困在这里并感到困惑! (经过数小时的研究)
我们有一台服务器需要自动获取我们其中一个页面的洞察信息。我创建了一个 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 的新手,真的需要弄清楚这一点。
似乎所有信息都要求用户登录以获取访问令牌,但我们希望我们的服务器收集对我们自己页面的见解。
提前致谢!
【问题讨论】:
【参考方案1】:有两种类型的访问令牌,一种用于用户,另一种用于特定页面(使用页面访问令牌时您充当页面)。
在您获得具有 manage_pages 权限的用户访问令牌后,您可以使用它从 https://graph.facebook.com/me/accounts?access_token=[USER_ACCESS_TOKEN] 获取页面访问令牌然后您应该使用该令牌能够查询洞察数据。
无法保证令牌将继续无限期地工作(离线许可已被弃用,而且在实践中也不是真正无限期的)。当令牌停止工作时,您需要再次手动获取新令牌。
【讨论】:
感谢您的帮助 Bemmu!我理解您的回答,但我仍然对“获得具有 manage_pages 权限的用户访问令牌后”步骤感到有些困惑。我对此很陌生,仍然不确定在这里做什么。那么我是否像上面提到的那样获得应用程序访问令牌,然后像您所说的那样获得用户?它的语法是什么?再次感谢您的耐心等待!以上是关于获取我的 Facebook 应用程序的访问令牌的主要内容,如果未能解决你的问题,请参考以下文章