youtube-api - playlistItems YouTube Data API v3 的 liveStreamingDetails
问题描述
我正在寻找一种方法来检测视频是否是实时流。YouTube 数据 APIliveStreamingDetails
在使用其Videos.list
端点时有一个属性。
但是,在使用PlaylistItems.list
端点时不存在。
显然,我不会PlaylistItems.list
为了获得这个属性而再打一次电话(之后)。有没有办法找出PlaylistItems.list
直播的视频是什么?
解决方案
不幸的是,您的问题的答案是否定的:
根据官方规范,API 端点返回的响应是PlaylistItems.list
一个 JSON 对象,其items
属性是PlaylistItems 资源对象的数组:
{
"kind": "youtube#playlistItem",
"etag": etag,
"id": string,
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"thumbnails": {
(key): {
"url": string,
"width": unsigned integer,
"height": unsigned integer
}
},
"channelTitle": string,
"videoOwnerChannelTitle": string,
"videoOwnerChannelId": string,
"playlistId": string,
"position": unsigned integer,
"resourceId": {
"kind": string,
"videoId": string,
}
},
"contentDetails": {
"videoId": string,
"startAt": string,
"endAt": string,
"note": string,
"videoPublishedAt": datetime
},
"status": {
"privacyStatus": string
}
}
此对象仅包含有限数量的元数据信息,附加到PlaylistItems.list
端点提供的视频项目。
因此,您必须承认,如果需要liveStreamingDetails
附加到由 返回的视频的属性,您必须单独从 API 端点PlaylistItems.list
请求此信息:通过将逗号分隔的列表传递给其请求参数来查询后一个端点您感兴趣的视频(但不超过 50 个)。Videos.list
id
请注意,每个Videos.list
端点调用都非常便宜:它只附加了一个单位的配额成本,而与传递给它的视频 ID 的数量无关。
推荐阅读
- typescript - 如何在打字稿中对对象上的项目进行分组和计数?
- applescript - 在密码保护文件夹时陷入循环
- android - 运行所有协程类测试失败
- python - 错误:ValueError:应定义“密集”输入的最后一个维度。找到`无`
- geospatial - 使用 Dask 处理大型网格会导致 MemoryError
- r - 根据另一个(日期)变量的首次出现创建一个二进制变量
- php - get new line space in output log, but no echo command in php script
- android - Android RTL support for shapes corners radius
- css - Are there any browsers that do not have Arial available?
- dhall - 在 Dhall 的多行字符串中转义字符串插值