从Facebook应用程序发布到Facebook页面而无需登录Facebook

时间:2012-04-22 11:01:03

标签: php facebook facebook-graph-api login

我正在尝试使用PHP发布到Facebook 页面。 我创建了一个Facebook应用程序,并且 我可以使用我在Daily Automatic post in facebook users wall找到的非常有用的代码发布到常规帐户 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);

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

Page object的文档中说:

  

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

  

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

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

答案 1 :(得分:0)

如果您要发布到自己的网页,请务必从管理员帐户中获取正确的访问令牌。 关闭facebook的誓言页面生成正确的令牌。转到获取访问令牌,然后选择所需的选项。

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

相关问题