好的,我想我终于找到了方法。我需要一个页面访问代码而不是应用程序访问代码。令牌必须在应用程序外部生成,作为长期存在的令牌。
https://www.facebook.com/dialog/oauth?client_id={app_id}&redirect_uri={my_url}&scope=manage_pages,publish_stream
app_id 是您的应用程序 ID my_url 是您的应用程序 URL 范围是您要授予的权限
在重定向的 URL 中,您将有一个 code 参数。复制它。
https://graph.facebook.com/oauth/access_token?client_id={app_id}&redirect_uri={my_url}&client_secret={app_secret}&code={code}
app_secret 是您的应用程序密钥代码是步骤 1 中的代码
您将获得用户访问令牌作为输出。这是一个短暂的生命。
- 使用以下方法将短期用户访问令牌转换为长期用户访问令牌:
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={short live access token}
将“短期访问令牌”替换为您在第 2 步中获得的令牌。您将获得无限用户访问令牌作为输出。
- 获取页面访问令牌(这将是无限访问令牌,因为用户访问令牌现在也是无限访问令牌):
https://graph.facebook.com/me/accounts?access_token={infinite user access token}
将“无限用户访问令牌”替换为您在步骤 3 中获得的值。
此命令将列出您管理的所有页面。输出包含您在“access_token”字段中需要的页面访问令牌。您可以在应用程序的任何 API 命令中使用此令牌。
最好的方法是通过服务器端程序(对我来说是 PHP)来完成所有这些步骤,因为应用程序的密钥应该保持“秘密”。