当前位置: 首页 > 知识库问答 >
问题:

如何检查YouTube频道是否正在直播

梁嘉祥
2023-03-14

我找不到任何信息来检查YouTube频道是否真的在流式传输。使用Twitch,您只需要频道名称,使用API,您可以检查是否有直播。

我不想使用OAuth,通常一个公共API密钥就足够了。就像检查频道的视频一样,我想知道该频道是否正在流式传输。

共有3个答案

靳祺然
2023-03-14

我知道这很旧,但我自己用PHP解决了它。

php prettyprint-override">$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!';

}
向苗宣
2023-03-14

搜索方法(https://www.googleapis.com/youtube/v3/search)使用起来非常昂贵。默认情况下,它花费 100 个配额单位(https://developers.google.com/youtube/v3/determine_quota_cost)中的 10,000 个配额单位。这意味着您每天只能收到100个请求,这很糟糕。

你可以要求增加配额,但这似乎是粗暴地解决问题。

真的没有其他更简单的方法吗?

曾泳
2023-03-14

您可以使用搜索来完成此操作。列出并指定频道ID,将类型设置为视频,并将事件类型设置为直播

例如,当我搜索:

https://www.googleapis.com/youtube/v3/search?part=snippet

我得到了以下信息:


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

 类似资料:
  • 问题内容: 如何使用PHP检查YouTube上是否存在视频? 问题答案: 怎么样 使用Youtube的API ? 毕竟,这意味着要使用一些官方文件,而与解析某些HTML页面相比,更改的可能性较小。 该检索特定的视频条目似乎很有趣:如果你发送到像这样的一个URL的请求: (用示例的视频ID替换“ videoID”,当然,在您的示例中为“ GeppLPQtihA”) ,如果视频有效,您将获得一些ATO

  • 问题内容: 检查html5音频元素当前是否正在播放的JavaScript API是什么? 问题答案: 音频标签具有一个属性。如果未暂停,则正在播放。

  • 我的YouTubeAPI调用的目标是,给定一个channelId,返回该频道当前是否是实时流媒体。这是我目前正在进行的调用: 虽然此调用是功能性的,但在频道启动实时流和此调用返回流之间存在显着延迟。 在YouTube v3 API中有没有更好的不需要oAuth的调用?我的应用程序的功能是只读的。 谢啦!

  • 我很困惑。据我所知,我完全遵循这些例子。也许我遗漏了一个参数,但我找不到它是什么。 控制台响应没有项目,但我有3个公共播放列表。 [Log]对象(learnadaapi.html,第68行) etag: “\”m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\“” 项目: [] (0) 类型:“youtube#channelList响应

  • 给定频道的“虚荣url”(例如youtube.com/wheelockcollege,指向youtube.com/wheelockmarketing1),是否有办法检索频道详细信息? 我使用的是API的新版本3,以及最新的Python包。

  • 有个网站叫:TubeSift 这个工具决定了一个视频是否被“货币化”。 我的简单问题是。。。 有没有办法确定特定的YouTube视频是否通过某些YouTube API获利(可以显示视频插播广告)? 如果是,哪个YouTubeAPI? 如果没有,那么TubeSift如何确定这一点?抓取响应? 重要区别:这是一个您没有身份验证或凭据来管理的视频-即:这是其他人的视频。 类似的问题问的事情略有不同 yo