最后更新:
这是我自动生成的基于主题的频道 ID 的解决方案,因为我使用
gapi.client
的是 ,所以这是有效的(仅相关代码 - 下面的 URL 示例):
function requestUserUploadsPlaylistId(pageToken) {
var itemId = $("#YOUR-TEXT-INPUT").val(CHANNEL-ID); // Topic-based channel Id
var request = gapi.client.youtube.playlists.list({ // Use playlists.list
channelId: itemId, // Return the specified channel's playlist
part: 'snippet',
filter: 'items(id)' // This gets what you only need, the playlist Id
});
request.execute(function(response) {
playlistId = response.result.items[0].id;
requestVideoPlaylist(playlistId, pageToken); // Now call function to get videos
});
}
function requestVideoPlaylist(playlistId, pageToken) {
var requestOptions = {
playlistId: playlistId,
part: 'id,snippet',
maxResults: 6
};
var request = gapi.client.youtube.playlistItems.list(requestOptions);
request.execute(function(response) { // playlistItems.list is used here
. . .
这是自动生成的基于主题的 ID 的 URL 示例,它获取其播放列表 ID:
GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=HC9m3exs6zk1U&fields=items%2Fid&key={YOUR_API_KEY} //输出示例播放列表 ID:LP9m3exs6zk1U
现在这是使用该播放列表 ID 从自动生成的基于主题的频道 ID 获取视频的 URL 示例:
GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=5&playlistId=LP9m3exs6zk1U&key={ YOUR_API_KEY} // 输出你想要的视频数据。
请记住,基于主题的频道 ID 有不同的长度,以上示例支持当前可用的长度。
希望这可以帮助!