2011-12-17 3 views
2

Есть ли способ отправить данные (например, статус обновления или опубликовать на стене друга) в Facebook с использованием пакетного API Facebook. Я хочу опубликовать на стене нескольких друзей или что-то подобное только с одним вызовом Facebook API.Отправка данных через запрос POST с использованием 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. Может ли кто-нибудь помочь мне с правильным способом сделать это.

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

ответ

0

Это не удается, потому что вы не передаете строку запроса в 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' 
       ); 

Вы можете найти подробное руководство по публикации многократной стены здесь: Tutorial: Post to multiple Facebook wall or timeline in one go using Graph API batch request

Смежные вопросы