我正在尝试查找视频属于哪个内容选项。 Youtube 有 3 个内容选项:探索、探索更多和大部分 Youtube,如以下链接所述:https://blog.youtube/news-and-events/supervised-experiences-for-families-on-youtube/ 使用 youtube 数据 api 并发送 youtube 视频的 id,我如何找到该视频的内容选项? API 链接:https://developers.google.com/youtube/v3/docs/videos/list?apix_params=%7B%22part%22%3A%5B%22contentDetails%2Cid%2Clocalizations%2Cplayer%2Csnippet%2Cstatistics%2Cstatus %2CtopicDetails%22%5D%2C%22id%22%3A%5B%22AE4tZ18sHeU%22%5D%7D
我不熟悉儿童版 YouTube,但我知道 YouTube API 确实包含内容分级字段以及视频是否可供儿童使用。
为了获得这些字段,您需要提供
contentDetails
(对于contentRating
字段)和status
(对于madeForKids
)part
s.
因此,如果您在请求 URL 中包含
part=contentDetails%2Cstatus
(API 浏览器的 contentDetails,status
字段中的part
),您可以获得如下响应:
{
"kind": "youtube#videoListResponse",
"etag": "O7p9bgAiPM19ezbt6zeLc3FfFBk",
"items": [
{
"kind": "youtube#video",
"etag": "vt0WWHcQtFaP5ZTFIL4LEN0YVqs",
"id": "Ks-_Mh1QhMc",
"contentDetails": {
"duration": "PT21M3S",
"dimension": "2d",
"definition": "hd",
"caption": "true",
"licensedContent": true,
"contentRating": {},
"projection": "rectangular"
},
"status": {
"uploadStatus": "processed",
"privacyStatus": "public",
"license": "youtube",
"embeddable": true,
"publicStatsViewable": true,
"madeForKids": false
}
}
],
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
}
}
如您所见,这些项目有一个
contentDetails
对象和一个 contentRating
对象作为它的一部分,以及一个 status
对象和一个布尔 madeForKids
字段。
此类请求的 URL 可能如下所示:
https://youtube.googleapis.com/youtube/v3/videos?part=contentDetails%2Cstatus&id=Ks-_Mh1QhMc&key=[YOUR_API_KEY]
API 文档的这一部分 描述了内容评级字段。
不同的国家有不同的内容分级。
contentRating
对象包含对特定视频提供内容分级的所有国家/地区的内容分级。它还包含一个名为 ytRating
的字段,该字段设置为 ytAgeRestricted
对应于年龄限制的视频(我猜 YouTube 的孩子根本不会显示这些视频)
类似的,关于
madeForKids
的信息可以在这里找到。这对应于视频是否被归类为“为儿童制作”。
或者,您可以搜索视频并使用
safeSearch
参数,如 this question 中所述。使用API搜索视频时,您可以将safeSearch
设置为moderate
、none
或strict
。