2

我正在尝试使用 PHP发布到 Facebook页面。我已经创建了一个 Facebook 应用程序,并且可以使用我在 facebook 用户墙中的每日自动发布中找到的非常有用的代码发布到常规帐户FEED中。

总结一下:

$facebook = new Facebook(array('appId'  => 'xxxxxxxx',
                               'secret' => 'xxxxxxxxxxxxxx',));

$post = array('message'   => 'Message to user');

$post_id = $facebook->api("/$USER_ID/feed", "post", $post);

任何 access_token 都不需要。我已从 PAGE(和常规帐户)授予我的应用程序以下权限:publish_stream,manage_pages

但是......这似乎不适用于 Facebook PAGE。我似乎无法从我的应用程序发布到它。我尝试了以下和其他组合,但 Facebook 没有返回任何错误消息,也没有发布:

$feed = '/MYPAGEID/feed';

$post_id = $facebook->api($feed, "post", $post);

非常感激你的帮助!

4

2 回答 2

3

Page 对象的文档中它说:

要在发布到墙上时模拟页面(即作为页面发布,而不是当前用户),您必须使用具有 manage_pages 和 publish_stream 权限的 Page access_token

要以 Page 而非当前用户的身份执行以下操作,您必须使用 Page 的访问令牌,而不是通常用于读取 Graph API 对象的用户访问令牌。可以通过向具有 manage_pages 权限的 /USER_ID/accounts 发出 HTTP GET 来检索此访问令牌。这将返回用户具有管理权限的页面列表(包括应用程序配置页面),以及这些页面的 access_tokens。或者,您可以通过向具有 manage_pages 权限的 /PAGE_ID?fields=access_token 发出 HTTP GET 来获取单个特定页面的页面访问令牌,如上所述。除非另有说明,否则发布到页面还需要 publish_stream 权限。

此外,请务必查看Authenticating as a Page教程。

于 2012-04-22T11:08:27.630 回答
0

如果您想发布到您的页面,请务必从您的管理员帐户中获取正确的访问令牌。转到 Facebook 上的誓言页面生成正确的令牌。转到获取访问令牌,然后选择您想要的选项。

http://developers.facebook.com/tools/explorer

于 2012-04-22T11:31:46.057 回答