我使用了一种方法来获取可用于视频的公共字段的部分列表。这是一个 hack,我希望有人会发布一个更好的答案,最好是官方 YouTube 文档中答案的链接。
在我们得到答案之前,这是我使用的 hack:
首先,我获取了为视频提供的十个部分的列表,并将其提交给三个任意视频的 API 调用:
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,fileDetails,player,processingDetails,recordingDetails,statistics,status,suggestions,topicDetails&id=XqZsoesa55w,kJQP7kiw5Fk,F4tHL8reNCs&key=<key>
结果是此错误消息:
该请求未获得适当授权以访问视频文件或
处理信息。注意fileDetails,
processingDetails 和 suggestions 部分是
仅对该视频的所有者可用。
那就是信息。它告诉我这三个部分是不公开的,所以我不能在我不拥有的视频上查询它们。
所以接下来我提交了相同的请求,删除了这三个部分:
https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails,player,recordingDetails,statistics,status,topicDetails&id=XqZsoesa55w,kJQP7kiw5Fk,F4tHL8reNCs&key=<key>
然后我从中获取响应并解析 JSON 以提取第三和第四级嵌套的标签。这些主要是部分和字段名称。下表的前三行是字段;其余的是部分及其组成字段。
| Field or part |
Field |
| kind |
|
| etag |
|
| id |
|
| snippet |
publishedAt |
|
channelId |
|
title |
|
description |
|
thumbnails |
|
channelTitle |
|
tags |
|
categoryId |
|
liveBroadcastContent |
|
defaultLanguage |
|
localized |
|
defaultAudioLanguage |
| contentDetails |
duration |
|
dimension |
|
definition |
|
caption |
|
licensedContent |
|
contentRating |
|
projection |
| status |
uploadStatus |
|
privacyStatus |
|
license |
|
embeddable |
|
publicStatsViewable |
|
madeForKids |
| statistics |
viewCount |
|
likeCount |
|
favoriteCount |
|
commentCount |
| player |
embedHtml |
| topicDetails |
topicCategories |
| recordingDetails |
|
请注意,recordingDetails 部分没有列出任何字段。这并不意味着它没有字段。这意味着提交的 ID 的所有视频的数据中都没有recordingDetails。这就是为什么我一开始就说我得到的是一个部分列表。它仅基于为这三个视频检索到的数据。此问题的另一个示例是,提交的三个视频中只有两个在其数据中包含commentCount。如果他们都没有那个领域的数据,那么我就不会从这个练习中知道那个领域的存在。
这是我的部分视频公共字段列表。有人可以给我们一个更好的答案,指向视频、频道和播放列表的所有字段的文档吗?