Facebook使用最新的PHP SDK发布到商业/社区页面


Facebook post to business/community page using latest PHP SDK

我正试图将我的网站上的内容发布到我的facebook页面(使用最新的facebook api)。

连接到我的应用程序(运行良好)后,我有了这个代码,可以在我的时间线上发布一些内容。

$response = (new FacebookRequest(
$session, 'POST', '/me/feed', array(
'name' => 'Test 1',
'caption' => "Test 2",
'link' => 'https://www.google.com',
'message' => 'Test 3'
)));

这很好,但当我将"/me/feed"更改为"/nameofbusinesspage/feed"时,它似乎登录到了facebook,但随后返回了一条很长的错误消息。

致命错误:未捕获异常"Facebook''FacebookServerException",消息为"发生意外错误"。请稍后重试您的请求。

我应该如何参考商业/社区页面,有什么想法吗?

旧的SDK上有很多线程,但这是v4.0(看起来完全不同)。

您是否尝试使用'/id of businesspage/feed'而不是'/name of businesspage/fieed'?

终于明白了——对其他人来说。

以下是登录后与facebook建立的代码(由$session var引用)。

$pageid ="**********";
$get = (new FacebookRequest($session, 'GET', '/me/accounts'));
$accounts = $get -> execute() -> getGraphObject() -> asArray();
// get data object
$data = $accounts["data"];
// get access_token from account with matching id
foreach ($data as $page) { 
if ($page -> id == $pageid) { $accesstoken = $page -> access_token; } }
// post to facebook account
$post = (new FacebookRequest($session, 'POST', '/'.$pageid.'/feed', 
array('access_token' => $accesstoken, 
'name' => 'Test 1', 
'caption' => "Test 2", 
'link' => 'https://www.google.com', 
'message' => 'Test 3')));
$return = $post -> execute() -> getGraphObject() -> asArray();

$pageid是你的facebook页面的(数字)id(位于"设置"下)。

希望它能挽救我浪费在试错上的一天。