Я пытаюсь опубликовать материал со своего веб-сайта на своей странице в Facebook (используя последние API-интерфейсы Facebook).
После подключения к моему приложению (которое работает нормально) у меня есть этот код для публикации чего-либо на моей временной шкале.
$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» вместо «/ nameofbusinesspage / feed»?
Наконец-то разобрался — для кого-то еще. , ,
Ниже приведен код после входа в систему, установленный через facebook (на который ссылается переменная $ session). , ,
$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 (находится в разделе «Настройки»).
Надеюсь, это спасет кого-то в тот день, когда я потратил время на пробу и ошибку