6

Я не могу найти информацию, чтобы проверить, действительно ли канал на самом деле транслируется. С Twitch вам просто нужно имя канала, и с помощью API вы можете проверить, есть ли живой или нет.Как проверить, транслируется ли канал YouTube в прямом эфире

Я не хочу использовать OAuth, обычно общедоступного API-ключа достаточно. Как и проверка видео канала, я хочу знать, транслируется ли канал.

ответ

15

Вы можете сделать это, используя search.list и указав идентификатор канала, установив тип video и установив eventType в live.

Например, когда я искал:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCXswCcAMb5bvEUIDEzXFGYg&type=video&eventType=live&key=[API_KEY]

я получил следующее:

{ 
"kind": "youtube#searchListResponse", 
"etag": "\"sGDdEsjSJ_SnACpEvVQ6MtTzkrI/gE5P_aKHWIIc6YSpRcOE57lf9oE\"", 
"pageInfo": { 
    "totalResults": 1, 
    "resultsPerPage": 5 
}, 
"items": [ 
    { 
    "kind": "youtube#searchResult", 
    "etag": "\"sGDdEsjSJ_SnACpEvVQ6MtTzkrI/H-6Tm7-JewZC0-CW4ALwOiq9wjs\"", 
    "id": { 
    "kind": "youtube#video", 
    "videoId": "W4HL6h-ZSws" 
    }, 
    "snippet": { 
    "publishedAt": "2015-09-08T11:46:23.000Z", 
    "channelId": "UCXswCcAMb5bvEUIDEzXFGYg", 
    "title": "Borussia Dortmund vs St. Pauli 1-0 Live Stream", 
    "description": "Borussia Dortmund vs St. Pauli Live Stream Friendly Match.", 
    "thumbnails": { 
    "default": { 
     "url": "https://i.ytimg.com/vi/W4HL6h-ZSws/default.jpg" 
    }, 
    "medium": { 
     "url": "https://i.ytimg.com/vi/W4HL6h-ZSws/mqdefault.jpg" 
    }, 
    "high": { 
     "url": "https://i.ytimg.com/vi/W4HL6h-ZSws/hqdefault.jpg" 
    } 
    }, 
    "channelTitle": "", 
    "liveBroadcastContent": "live" 
    } 
    } 
] 
} 
+1

но можем ли мы иметь идентификатор видеопара? – mpgn

+2

Вы можете найти идентификатор, если вы посмотрите на ресурс 'items' ->' id' -> 'videoId'. В приведенном выше примере идентификатор видеопотока - 'W4HL6h-ZSws'. –

+0

Большое спасибо. – PaulELI

4

Я знаю, что это старый, но я понял это сам с PHP.

$API_KEY = 'your api3 key'; 
$ChannelID = 'the users channel id'; 

$channelInfo = 'https://www.googleapis.com/youtube/v3/search?part=snippet&channelId='.$ChannelID.'&type=video&eventType=live&key='.$API_KEY; 

$extractInfo = file_get_contents($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!'; 

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