FINAL UPDATE:
Вот мое решение автоматически сгенерированных Тема на основе идентификаторов канала, так как я использую 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
. . .
Вот пример URL Ид тематическом автоматически генерируемой, который захватывает его идентификатор плейлиста: GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=HC9m3exs6zk1U&fields=items%2Fid&key={YOUR_API_KEY} // Результаты выборки плейлист Id: LP9m3exs6zk1U
Теперь вот пример URL-адреса, используя этот идентификатор списка воспроизведения, чтобы получить видео с автогенерированного канала на основе темы Id: GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=5&playlistId=LP9m3exs6zk1U&key={YOUR_API_KEY} // Выводит нужные видеоданные.
Запомните, Идентификаторы канала на основе темы имеют разную длину, приведенные выше примеры поддерживают текущие доступные длины.
Надеюсь, что это поможет!