我试图弄清楚 YouTube 视频是否可以使用 YouTube Data API v3 嵌入,从类似问题的答案中我注意到视频的 status.embeddable 属性,对于这样的请求:
https://www.googleapis.com/youtube/v3/videos?id=63flkf3S1bE&part=contentDetails,status&key={MY_API_KEY}
响应如下
{
"kind": "youtube#videoListResponse",
"etag": "\"ksCrgYQhtFrXgbHAhi9Fo5t0C2I/ctZQYtBcOuMdnQXh8-Fv1EbS_VA\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"ksCrgYQhtFrXgbHAhi9Fo5t0C2I/Cd8aGZD09NPuGYNumIEozZs2S90\"",
"id": "63flkf3S1bE",
"contentDetails": {
"duration": "PT8M23S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": false,
"projection": "rectangular"
},
"status": {
"uploadStatus": "processed",
"privacyStatus": "public",
"license": "youtube",
"embeddable": true,
"publicStatsViewable": true,
"madeForKids": false
}
}
]
}
The embeddable
参数下status
返回 true,但是该视频实际上不可嵌入,如您所见here https://www.youtube.com/embed/63flkf3S1bE.
当实际使用 iframe API 嵌入视频时,还有更详细的错误消息:
视频不可用
该视频包含来自国际奥委会的内容,该委员会已阻止其在本网站或应用程序上显示。
在 YouTube 上观看
我不明白如何从 YouTube 数据 API 检测到这种情况 - 有人可以帮忙吗?