6

Nie mogę znaleźć żadnych informacji, aby sprawdzić, czy kanał YouTube faktycznie jest przesyłany strumieniowo. Z Twitch wystarczy nazwa kanału, a za pomocą interfejsu API można sprawdzić, czy jest na żywo, czy nie.Jak sprawdzić, czy kanał YouTube jest przesyłany strumieniowo na żywo?

Nie chcę używać protokołu OAuth, zwykle wystarczy publiczny klucz API. Podobnie jak sprawdzanie filmów na kanale, chcę wiedzieć, czy kanał jest przesyłany strumieniowo.

Odpowiedz

15

Możesz to zrobić, używając search.list i określając identyfikator kanału, ustawiając typ na video i ustawiając parametr eventType na live.

Na przykład, gdy szukałem:

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

mam następujące:

{ 
"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

ale czy możemy mieć identyfikator wideo pary? – mpgn

+2

Możesz znaleźć identyfikator, jeśli spojrzysz na zasoby 'items' ->' id' -> 'videoId'. W podanym wyżej przykładzie identyfikator strumienia wideo to "W4HL6h-ZSws". –

+0

Dziękuję bardzo. – PaulELI

4

wiem, że to jest stary, ale wyobraziłem go sobie z 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!'; 

} 
Powiązane problemy