javascript - 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)
解决方案
您必须先检查是否channels.list
有数据的响应。
您面临的错误是因为可能没有返回数据。
为避免检索上传播放列表,您可以这样做:
- 一旦你有了
channel_id
,替换突出显示的字母,如下所示:
渠道:微软 Hololens:
Channel_id : UC T2rZIAL -zNqeK1OmLLUa6g
上传(播放列表):U U T2rZIAL-zNqeK1OmLLUa6g
然后就可以调用get_videos()
函数了。
推荐阅读
- c# - 如何从 Xamarin android 资源中的 strings.xml 正确访问字符串资源?
- delphi - 为什么仅在将重载过程分配给局部变量后才使用“H2219 Private symbol X declared but never used”?
- javascript - 如何重新排序 angularjs ngTable 分页?
- python - TensorFlow:实现网络,如果一层的特征图没有连接到下一层的所有特征图
- android - 从样式中读取 sp
- typescript - TS2322:类型“文件”不可分配给类型“文件类型”
- python - 在 scipy linprog 中有效地获取影子价格
- c# - C# Windows 服务未正确压缩文件夹
- c# - Task.Run 中存在 async/await
- c# - 无法在 selenium C# 中单击动态 Web 表中的元素