Я разработал приложение на своем веб-сайте http://www.cefozyt.com, которое может публиковать ссылки, сообщения и т. Д. Для нескольких пользователей Facebook и их групп. Я использовал: -
если ($ пользователю) {
// Продолжаем, зная, что вы вошли в систему, у кого есть действительный сеанс.
// ========= Пакетные запросы через API Graph Facebook с использованием PHP-SDK ========
// Сохраняем ваши вызовы методов в массив
$ query = array (
массив ('method' => 'GET','lative_url '=>' /'.$user),
массив ('method' => 'GET','lative_url '=>' /'.$user.'/friends '),
массив ('method' => 'GET','lative_url '=>' /'.$user.'/groups '),
массив ('method' => 'GET','lative_url '=>' /'.$user.'/likes '),
);
// POST your queries to the batch endpoint on the graph.
try{
$batchResponse = $facebook->api('?batch='.json_encode($queries), 'POST');
}catch(Exception $o){
error_log($o);
}
//Return values are indexed in order of the original array, content is in ['body'] as a JSON
//string. Decode for use as a PHP array.
$user_info = json_decode($batchResponse[0]['body'], TRUE);
$friends_list = json_decode($batchResponse[1]['body'], TRUE);
$groups = json_decode($batchResponse[2]['body'], TRUE);
$pages = json_decode($batchResponse[3]['body'], TRUE);
// ========= Пакетные запросы через API Graph Facebook с использованием PHP-SDK заканчиваются =====
if(isset($_POST['submit_x'])){
if($_POST['message'] || $_POST['link'] || $_POST['picture']) {
$body = array(
'message' => $_POST['message'],
'link' => $_POST['link'],
'picture' => $_POST['picture'],
'name' => $_POST['name'],
'caption' => $_POST['caption'],
'description' => $_POST['description'],
);
$batchPost=array();
$i=1;
$flag=1;
foreach($_POST as $key => $value) {
if(strpos($key,"id_") === 0) {
$batchPost[] = array('method' => 'POST', 'relative_url' => "/$value/feed", 'body' => http_build_query($body));
if($i++ == 50) {
try{
$multiPostResponse = $facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST');
}catch(FacebookApiException $e){
error_log($e);
echo("Batch Post Failed");
}
$flag=0;
unset($batchPost);
$i=1;
}
}
}
if(isset($batchPost) && count($batchPost) > 0 ) {
try{
$multiPostResponse = $facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST');
}catch(FacebookApiException $e){
error_log($e);
echo("Batch Post Failed");
}
$flag=0;
}
}
else {
$flag=2;
}
}
}
?>