2014-09-26 74 views
1

我想从我的网站发布的东西到我的Facebook页面(使用最新的Facebook API)。Facebook的使用最新的PHP SDK的商业/社区页面

连接到我的应用程序(工作正常)后,我有这段代码发布到我的时间表上。

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

这工作得很好,但是当我“/我/饲料”更改为“/ nameofbusinesspage /喂”它似乎登录Facebook的确定,但然后返回一个漫长的错误信息开始。 。 。

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

任何想法我应该如何参考业务/社区页面?

旧SDK上有大量线程 - 但这是v4.0(这看起来完全不同)。

回答

1

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

+0

感谢您的回复 - 是的,我也尝试过身份证 - 同样的问题 – Mattzo 2014-09-26 15:50:09

+0

所以,我说得对吗? – wino 2014-09-28 18:27:52

0

终于明白了 - 对于其他人。 。 。

以下是使用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。

希望它可以节省一天我在试错时浪费的时间。

相关问题