Я создаю небольшой интерфейс для показа живого видео с канала YouTube на веб-странице. Я получил ключ API, настроил его, и он заработал. Но потом я не смог получить доступ к определенной информации из json, который я получил с сервера YouTube.
Я попытался сделать несколько вещей, исправляя любые поломки на ходу, но понял, что иногда это работает, а иногда нет ... Я искал другие темы, но больше не могу понять, что происходит.
Итак, вопросы:
Как использовать file_get_contents_url () для получения информации о канале Youtube каждый раз без сбоя ответа HTTP?
Почему в моем тестировании используются все единицы измерения, которые у меня есть в качестве квоты из API Google? (У него заканчивается 50 обновлений)
Мой код
<?php
header("Access-Control-Allow-Origin: *");
# Enable Error Reporting and Display:
error_reporting(~0);
ini_set('display_errors', 1);
$API_KEY = 'API KEY HERE';
$ChannelID = ' CHANNEL ID HERE';
$channelInfo = 'https://www.googleapis.com/youtube/v3/search?part=snippet&channelId='.$ChannelID.'&type=video&eventType=live&key='.$API_KEY;
$extractInfo = file_get_contents_url($channelInfo);
$extractInfo = str_replace('},]',"}]",$extractInfo);
$showInfo = json_decode($extractInfo, true);
if($showInfo['pageInfo']['totalResults'] === 0){
echo 'Users channel is Offline';
}else{
echo 'Users channel is LIVE!';
}
$videoId = $extractInfo['items'][0]['id']["videoId"];
if ($videoId = 0) {
echo "<h2>No live stream yet.</h2>";
} else {
echo "</h2>$videoId</h2>";
}
?>
Что мне нужно, это:
- для доступа к моему каналу YouTube,
- получить содержимое как json,
- превратить его в массив php,
- где я получаю videoId видео в прямом эфире
- и отобразите его.
Когда я эхо $extractInfo
Я получаю
{
"kind": "youtube#searchListResponse",
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/yOWNawoTMP4atq-Ylgqt-1puBAQ\"",
"regionCode": "NL",
"pageInfo": {
"totalResults": 0,
"resultsPerPage": 5
},
"items": []
} 0