通过 Youtube API,如何检测 Youtube 视频是否不可用(例如:https://www.youtube.com/watch?v=5nRZlcB2jPY)?
谢谢
您可以调用 API 来获取视频状态。
https://www.googleapis.com/youtube/v3/videos?id=VIDEOID&part=status&key=APIKEY
然后查看json结果中的uploadStatus:
"status": {
"uploadStatus": "processed",
"privacyStatus": "public",
"license": "youtube",
"embeddable": true,
"publicStatsViewable": true
}
const https = require('https');
// Change your videoId that you want to check here
const url = 'https://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=videoID&format=json';
https.get(url, (response) => {
if (response.statusCode === 200) {
console.log('Video available');
} else {
console.log('Video not available');
}
}).on('error', (error) => {
console.error('Error:', error);
});
如果您收到 200 的回复,则该视频可用。如果没有的话,视频就无法观看
在 YouTube iFrame 的 onReady 处理程序中,getPlayerState() 将为“不可用”视频返回 -1(未启动),而所有其他视频应返回状态 5(视频提示)。