很遗憾,您的问题的答案是否定的:
根据官方规范,PlaylistItems.list API 端点的response returned 是一个JSON 对象,其中items 属性是PlaylistItems Resource 对象的数组:
{
"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 属性附加到由 PlaylistItems.list 返回的视频,您必须分别从 Videos.list API 端点请求此信息:通过传递给其查询后一个端点请求参数id一个逗号分隔的列表,由您感兴趣的视频的ID组成(但不超过50个)。
请注意,每个Videos.list 端点调用非常便宜:它只附加了一个单元的quota cost,与传递给它的视频ID 的数量无关。