我正在尝试使用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);
非常感谢您的帮助!
答案 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的誓言页面生成正确的令牌。转到获取访问令牌,然后选择所需的选项。