在将其作为副本关闭之前,请阅读整个问题,因为我很确定它不是。
对于我正在编写的网站,我想将最新的视频上传到 Youtube 频道。这是我目前使用的代码:
$uploadid = json_decode(
file_get_contents(
"https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=" . $youtube_username . "&key=" . $youtube_apikey),
true
)["items"][0]["contentDetails"]["relatedPlaylists"]["uploads"];
$latest_videoid = json_decode(
file_get_contents(
"https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=1&playlistId=" . $uploadid . "&key=" . $youtube_apikey),
true
)["items"][0]["snippet"]["resourceId"]["videoId"];
如Channels和PlaylistItems文档中所引用。
但是,它并不总是返回上传播放列表中的第一个条目,而是始终(在某些频道上)首先返回“接下来要看什么”视频,然后(通常)随后是第二个条目中的最新上传。
我知道一个创可贴的解决方案就是抓取前 2-5 个视频,然后挑选出日期最近的视频,但这需要比必要更多的请求,而且可能仍然不是最新的视频取决于它的订购方式。
那么如何获取频道上传播放列表的播放列表 ID,而不是半“接下来要看什么”播放列表?
此外,这些用户都没有对自己进行身份验证,这就是我想要保留它的方式。
感谢您的时间和知识。