web-dev-qa-db-ja.com

YouTubeチャンネルがライブでストリーミングしているかどうかを確認する方法

YouTubeチャンネルが実際にストリーミングしているかどうかを確認するための情報が見つかりません。 Twitchではチャネル名が必要で、APIを使用するとライブの有無を確認できます。

OAuthを使用したくないので、通常は公開APIキーで十分です。チャンネルの動画をチェックするように、チャンネルがストリーミングしているかどうかを知りたいです。

14
mpgn

search.list およびチャネルIDを指定し、タイプを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"
   }
  }
 ]
}
29
not_a_bot

私はこれが古いことを知っていますが、私はそれを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!';

}
6
TJ Dobbs

ただし、検索方法( https://www.googleapis.com/youtube/v3/search )は、使用するには非常にコストがかかります。デフォルトの10,000のうち、100クォータ単位( https://developers.google.com/youtube/v3/determine_quota_cost )です。つまり、1日あたり100リクエストしか取得できないということです。

あなたは割り当て量の増加をリクエストできますが、問題を強引に強制しているようです。

他にもっと簡単な方法は本当にありませんか?

4
Smorfty