我想使用PHP发布到Facebook页面墙作为页面。我通过以下链接获得了access_token。
https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=123456789&redirect_uri=http%3A%2F%2Fmysite.net&scope=publish_stream,manage_pages,offline_access
https://graph.facebook.com/me/accounts?access_token=...
我正在使用这个简单的代码:
$appid = "";
$secret = "";
$pageid = "";
$access_token = "";
require_once("facebook-php-sdk/src/facebook.php");
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $secret
));
try {
$args = array(
'access_token' => $access_token,
'message' => 'Test',
'link' => 'http://www.test.com',
'description' => 'Test'
);
$post_id = $facebook->api("/$pageid/feed","post",$args);
} catch (FacebookApiException $e) {
error_log($e);
}
这就是我得到的错误:
OAuthException: (#200) Posts where the actor is a page cannot also include a target_id
但发布/ me / feed也不会有效。我用Google搜索的所有解决方案都不起作用,官方文档没有帮助。我在以用户(不是页面)和javascript api(用户需要'共享'点击操作)发布时使用它。
任何人都知道自动发布到fb页面作为页面的解决方案吗?花了几个令人沮丧的日子试图弄清楚--_-
谢谢,
一个。
答案 0 :(得分:6)
我遇到了同样的问题。原因是我是一个多个页面的管理员,我试图用另一个页面的标记发布。
答案 1 :(得分:5)
页面无法发布到用户的墙上(这就是为什么你得到的“{1}}”表示“作为页面,你不能设置target_id”。您必须首先创建一个应用程序并获得用户的许可(publish_stream)以通过该应用程序发布到他们的Feed。
答案 2 :(得分:3)
我假设您对应用以及发布工作有一定的了解。
1.您必须获取页面访问令牌并在阵列上使用此功能。
2.你使用这个
"/$pageid/feed"
尝试使用此
$facebook->api($pageID . '/feed','POST'
的谢谢... 强> 的