Laranessa
@Laranessa

Как получить hash объекта video с помощью Callback API VK?

Приветики)

Я пытаюсь написать скрипт, который будет при появлении новой видеотрансляции в ВК в моей группе будет формировать iframe (код для вставки) и записывать его в файлик.

Вот код:
<?php

//Строка для подтверждения адреса сервера из настроек Callback API 
$confirmation_token = 'токен подтвержденния'; 

//Ключ доступа сообщества 
$token = 'токен на управление сообществом'; 

//Получаем и декодируем уведомление 

$data = json_decode(file_get_contents('php://input')); 

if (($data->group_id != ид_группы) or ($data->secret != 'секретик)')) {
    echo "сюда нельзя!";
    exit;
}
//Проверяем, что находится в поле "type" 
switch ($data->type) { 
//Если это уведомление для подтверждения адреса... 
case 'confirmation': 
//...отправляем строку для подтверждения 
echo $confirmation_token; 
break; 

//Если это уведомление о новом видео... 
case 'video_new': 
$video_id = $data->object->id;
$video_owner_id = $data->object->owner_id;
$video_player = $data->object->player;
$videos = $video_owner_id . '_'.$video_id;
$iframe = <<<EO
<iframe src="https://vk.com/video_ext.php?oid=$video_owner_id&id=$video_id&hash=ВОТ_ТУТ_НУЖЕН_HASH" width="100%" height="100%" frameborder="0" allowfullscreen></iframe>
EO;
if (isset($data->object->live)) { $video_live = $data->object->live; }

if ($video_live == 1) {
    file_put_contents('./frame.txt', $iframe);
}

//Возвращаем "ok" серверу Callback API 

echo('ok');
break;

}

exit;


я сумела получить ИД видеотрансляции и ИД владельца видео(в данном случае это всегда будет ИД моей группы).

При этом $data->object->player отсутствует, хотя согласно документации ВК это поле должно быть.

В итоге как мне с помощью Callback API VK получить hash объекта video или готовый iframe (код для вставки) или поле player объекта video ?
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
vadimushka_d
@vadimushka_d
Учусь на программиста
как то так

$access_token = "Токен"

switch($data->type) {
case 'video_new': 
$video_id = $data->object->id;
$video_owner_id = $data->object->owner_id;
$videos = $video_owner_id . '_'.$video_id;

$videoInfo = file_get_contents("https://api.vk.com/method/video.get?videos={$videos}&count=1&extended=1&v=5.95&access_token={$access_token}");

$iframe = "<iframe src=\"{$videoInfo['response'][items][0]['player']}\" width="100%" height="100%" frameborder="0"  allowfullscreen></iframe>";

if (isset($data->object->live)) { $video_live = $data->object->live; }

if ($video_live == 1) {
    file_put_contents('./frame.txt', $iframe);
}
break;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы