是否有可能使youtube应用程序访问频道上的视频,实际上不是我的频道?所以我没有通道的登录详细信息,除了公共url之外,我无法获得任何凭据?
是。您将需要使用以下端点:
如果您知道通道ID,则执行GET请求:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id={CHANNEL_ID}&key={YOUR_API_KEY}
或者,如果您知道显示名称,则执行GET请求:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={DISPLAY_NAME}&key={YOUR_API_KEY}
无论哪种情况,您都不需要oAuth凭据,但需要提供从开发人员控制台获得的只读API密钥(不要忘记打开YouTube DATA API)。
一旦您完成了这两个调用中的一个,您将返回一个JSON数据包。在该数据包中,查看items
属性—它将具有与ID或显示名称相关的所有通道。循环遍历项目,对于每个项目,您都可以访问contentDetails.relatedPlaylists.uploads
以获取该通道上传提要的ID。
有了上传提要ID后,发出最后一个GET请求:
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId={UPLOADS_ID}&key={YOUR_API_KEY}
您将在响应JSON包的items
属性中获得频道的视频。注意,对playlisttitems端点的调用可以包括maxResults参数,使用pageTokens进行分页(当结果多于调用返回的结果时),等等。