Мой javascript ужасен, так что терпите меня.
Получил вызов API для получения данных канала для указанного пользователя. Затем я хочу использовать идентификатор в элементе данных «relatedPlaylists», чтобы получить все видео пользователей.
В настоящее время я не думаю, что API возвращает правильные данные. Любая помощь очень ценится.
function get_playlist() {
get_file('https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=petermillard1&key='+YouTubeAPIkey,
function(data)
{
show_channel(JSON.parse(data));
get_videos();
});
}
function show_channel(data) {
console.info('Channel data:' + data);
console.info('Uploads: ' + data.items.contentDetails.relatedPlaylists.uploads);
videos=data.items.contentDetails.relatedPlaylists.uploads;
console.info('Videos: ' + videos);
}
function get_videos() {
get_file('https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2C+contentDetails&id='+ videos + '&key='+YouTubeAPIkey,
function(data)
{
create_playlist(JSON.parse(data));
});
}Вот что отображается в консоли:
Channel data:[object Object]
Uncaught TypeError: Cannot read property 'relatedPlaylists' of undefined
at show_channel (vget.html:170)
at vget.html:163
at XMLHttpRequest.XHR.onreadystatechange (vget.html:190)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Сначала вы должны проверить, есть ли данные в ответе channels.list.
Ошибка, с которой вы столкнулись, связана с тем, что, вероятно, данные не были возвращены.
Чтобы избежать загрузки списка воспроизведения, вы можете сделать это:
channel_id, заменить выделенную букву, как показано ниже:Channel: Microsoft Hololens:
Channel_id: UCT2rZIAL-zNqeK1OmLLUa6g
Uploads (playlist): UUT2rZIAL-zNqeK1OmLLUa6g
Затем вы можете вызвать функцию get_videos().