首页 > 解决方案 > Youtube API - 频道不返回 JSON 数据?

问题描述

我的 javascript 差到令人震惊,所以请耐心等待。

获取 API 调用以获取指定用户的频道数据。然后我想使用“relatedPlaylists”数据项中的 id 来检索所有用户的视频。

目前我认为 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.log('Channel data:' + data);							
				console.log('Uploads: ' + data.items.contentDetails.relatedPlaylists.uploads);
				videos=data.items.contentDetails.relatedPlaylists.uploads;
				console.log('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)

标签: javascriptyoutubeyoutube-javascript-api

解决方案


您必须先检查是否channels.list有数据的响应。

您面临的错误是因为可能没有返回数据。

为避免检索上传播放列表,您可以这样做:

  • 一旦你有了channel_id替换突出显示的字母,如下所示:

渠道:微软 Hololens:

Channel_id : UC T2rZIAL -zNqeK1OmLLUa6g

上传(播放列表):U U T2rZIAL-zNqeK1OmLLUa6g

然后就可以调用get_videos()函数了。


推荐阅读