Отправка данных с помощью POST-запроса с помощью пакетного API Facebook - PullRequest
2 голосов
/ 17 декабря 2011

Есть ли способ отправить данные (например, обновить статус или опубликовать на стене друга) на Facebook, используя пакетный API Facebook. Я хочу опубликовать сообщение на стене нескольких друзей или что-то в этом роде с помощью всего одного вызова API Facebook.

$users = array();

$users[] = array('method' => 'POST', 'relative_url' => '/me/feed', 'body' => "message=Test status update");

try{

    $batchResponse = $facebook->api('?batch='.json_encode($users), 'POST');

}catch(FacebookApiException $e){

    error_log($e);

}

Но скрипт завершается ошибкой, и вызов API возвращает NULL. Может кто-нибудь помочь мне с правильным способом сделать это.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 марта 2012

Сбой, потому что вы не передаете строку запроса в кодировке URL в функцию api ().Использование http_build_query () при построении массива и urlencode () до того, как пакетный запрос решит проблему.

$batchPost[] = array(
                'method' => 'POST',
                'relative_url' => "/$value/feed",
                'body' => http_build_query($body)
                );

$multiPostResponse = $facebook->api(
                '?batch='.urlencode(json_encode($batchPost)),
                'POST'
                );

Подробное руководство по публикации на нескольких стенах можно найти здесь: Учебное пособие: публикация внесколько настенных или временных шкал Facebook за один раз, используя пакетный запрос Graph API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...