1

我是 Facebook 应用程序开发的新手。我整天都在玩“如何在页面的墙上发布消息?”。我终于成功了,但每条消息都是“通过 Graph API Explorer”获得的。我试图找到如何将其更改为我的应用程序名称但没有成功。我试图查看是否可以在 api 命令中强制应用程序的值,但它没有考虑到它。也许我错过了一些东西:(如果有人可以提供帮助,那就太好了!


我还是很困惑。让我试着解释一下我想要做什么:我想在一个页面(作为页面)上自动发布一些在网站上定义的事件(在一种议程中)。我想我想念的是 Facebook 端的一切是如何协同工作的: 1. 登录过程:由于应用程序将在 cron 中运行,因此不应显示登录对话框。2. 访问令牌:应用程序还是第一页?3.权限:据我了解,我需要manage_pages(和publish_stream),但不清楚应该如何设置。

感谢任何澄清,也许是一个明确的例子:o)

4

2 回答 2

2

您需要用户使用其中一种登录流程授权您自己的应用程序并授予您一种发布权限-

如果它在帖子上显示“通过 Graph API Explorer”,则您的应用程序使您使用的是您在使用Graph API Explorer工具测试 API 时检索到的访问令牌,而不是您自己的应用程序生成的访问令牌

于 2012-10-19T17:20:16.550 回答
2

好的,我想我终于找到了方法。我需要一个页面访问代码而不是应用程序访问代码。令牌必须在应用程序外部生成,作为长期存在的令牌。

  • 使用以下代码获取代码:

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)来完成所有这些步骤,因为应用程序的密钥应该保持“秘密”。

于 2012-10-20T09:27:15.813 回答