2012-04-22 239 views
2

我试图张贴到一个Facebook页面使用 PHP。 我创建了一个Facebook应用程序,并 我能张贴到普通账户FEED,使用非常有用的代码我发现:Daily Automatic post in facebook users wall发布从Facebook应用程序的Facebook页面没有登录Facebook的

来概括它:

$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); 

你的帮助是非常感谢!

回答

3

在为Page object的文档,它说:

发帖时在墙上(即岗位作为 页面,而不是当前用户)冒充的页面,你必须使用ACCESS_TOKEN页面 的manage_pages和publish_stream权限

要执行弗洛翼操作的页面,而不是当前 用户,则必须使用页面的访问令牌,令牌不 用户访问常用的读图API对象。此访问令牌可以是 ,通过向具有 manage_pages权限的HTTP GET发送到/ USER_ID /帐户来检索。这将返回用户具有管理 访问权限的页面列表(包括 应用程序配置文件页面)以及这些页面的access_tokens。另外,您也可以 通过发出 HTTP GET到/ PAGE_ID得到一个单一的,特定的,一页一页的访问令牌?场=与manage_pages ACCESS_TOKEN 许可,如上所述。除非另有说明,发布到页面还需要 的发布权限。

此外,一定要检查Authenticating as a Page教程。

+0

感谢Nitzan,刚刚尝试过,但问题是当PAGE用户注销时,这个TOKEN不再有效,我不能再发布它了。我需要的就像在“普通”Facebook帐户中一样 - 即使用户已注销,我的应用也可以发布到其Feed。 – 2012-04-22 12:41:40

+1

没有办法让页面访问令牌没有登录的用户使用他自己的有效访问令牌。即使通过服务器进行调用,用户也可以使用页面,就像在Facebook界面中一样。 – 2012-04-22 12:45:04

+0

谢谢Nitzan,我明白。令我困扰的是,我可以更新**个人资料** Facebook帐户,**没有任何access_token **,但我无法更新** Page ** Facebook帐户。我想知道有没有办法解决这个问题。为什么** Page **不同于** Pofile ** – 2012-04-22 12:53:23

0

如果你想发布到你的页面一定要得到正确的存取权限从您的管理员帐户令牌。 转到宣誓页关facebook生成正确的标记。去获取访问令牌,然后选择你想要的选项。

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

+0

感谢Jonathan,刚刚尝试过,但问题是当PAGE用户注销时,此TOKEN不再有效,我无法发布到它。我需要的就像在“普通”Facebook帐户中一样 - 即使用户已注销,我的应用也可以发布到其Feed。 – 2012-04-22 12:39:20

+0

非常感谢,我找到了我的答案 - 请参阅其他答案的评论 – 2012-04-22 15:45:40

相关问题