ВК апи + получение первого поста в группе

155
17 августа 2018, 09:40

хочу сделать первонаха, что делаю не так? Почему не получаю первое сообщение из группы?

<?php 
$token = '*'; 
$groupid = '-110029462'; 
$text = array('Го ко мне на стенку','На стене галочка','Чекай стену','На стене конкурс','Зайди ко мне <3'); 
$postid = by('wall.get?owner_id='.$groupid.'&count=1&filter=all&access_token='.$token.'$extended=1'); 
 
by('wall.createComment?owner_id='.$groupid.'&postid='.$postid.'&text='.$text.'&access_token='.$token.''); 
 
echo 'Randomtext, naprimer '.$text[array_rand($text)].'<br>'; 
echo 'Eto postid '.$postid.''; 
 
function by($method){ 
    $ch = curl_init("https://api.vk.com/method/".$method); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); 
    $response = curl_exec($ch); 
    curl_close($ch); 
    $json = json_decode($response, true); 
    return $json["response"]; 
} 
?>

Вставил код в js не знаю зачем, так красивее

Answer 1

Если еще нужно, проблема в том, что ты передаешь postid, а нужно post_id

Если что, вот рабочий код

$token = '*';
$groupid = '-59461380';
$v = '5.80'
$text = array('Го ко мне на стенку','На стене галочка','Чекай стену','На стене конкурс','Зайди ко мне <3');
$text_rand = $text[array_rand($text)];
$request_params = [
    'owner_id' => $groupid,
    'count' => 1,
    'filter' => 'all',
    'extended' => 1,
    'access_token' => $token,
    'v' => $v
];
$postid = json_decode(file_get_contents('https://api.vk.com/method/wall.get?' . http_build_query($request_params)));
$id = $postid->response->items[0]->id;
$request_params_comment = [
    'owner_id' => $groupid,
    'post_id' => $id,
    'text' => $text_rand,
    'access_token' => $token,
    'v' => $v
];
$comment = json_decode(file_get_contents('https://api.vk.com/method/wall.createComment?' . http_build_query($request_params_comment)));
if($comment->response->comment_id)
{
    echo 'Комментарий успешно добавлен <br>';
}
else
{
    echo 'Ошибка добавления комментария: '.$comment->error->error_msg.'<br>';
}

echo 'Randomtext, naprimer '.$text_rand.'<br>';
echo 'Eto postid '.$id.'';
READ ALSO
Как включить pcntl в php 7.2 на Ubuntu 16.04?

Как включить pcntl в php 7.2 на Ubuntu 16.04?

Использую модуль для PHP, который крашится с ошибкой:

229
netbeans и php 7

netbeans и php 7

Есть ли в netbeans поддержка php 7+ (в настройках указана только 5 версия php)?

170
Как получить лучшего лайкера? VK API, PHP

Как получить лучшего лайкера? VK API, PHP

есть задача - нужно получить лучшего лайкера постов за неделюПри помощи каких методов лучше всего это реализовать? (Пытался собирать все...

181
Серверный рендеринг страниц с помощью Smarty вместо Node.js для React

Серверный рендеринг страниц с помощью Smarty вместо Node.js для React

Всем привет! Осваиваю Flux, микропроект - тест-головоломкаНесколько раз в процессе работы приложения есть необходимость полного перестроения...

161