How to check if YouTube channel is streaming live

后端 未结 3 1197
一个人的身影
一个人的身影 2020-11-27 04:27

I can\'t find any informations to check if a YouTube channel is actually streaming or not. With Twitch you just need the channel name, and with the API you can check if ther

相关标签:
3条回答
  • 2020-11-27 04:57

    You can do this by using search.list and specifying the channel ID, setting the type to video, and setting eventType to live.

    For example, when I searched for:

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

    I got the following:

    {
     "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"
       }
      }
     ]
    }
    
    0 讨论(0)
  • 2020-11-27 05:02

    The search-method (https://www.googleapis.com/youtube/v3/search) is awfully expensive to use though. It costs 100 quota units (https://developers.google.com/youtube/v3/determine_quota_cost) out of the 10,000 you have by default. This means you only get 100 requests per day which is terrible.

    You could request an increase in the quota but that seems like brute forcing the the problem.

    Is there really no other simpler method?

    0 讨论(0)
  • 2020-11-27 05:19

    I know this is old but I figured it out myself with 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!';
    
    }
    
    0 讨论(0)
提交回复
热议问题