节点JS – Youtube API是空白的

我下载并安装谷歌apis与npm install googleapis ,现在我试图访问我的节点js文件与此代码中的api:

 var google = require('googleapis') var youtube = google.youtube({version: 'v3', auth: API_KEY}) 

但是,当我尝试访问video对象时,我总是返回null 。 显然,YouTube对象已损坏,因为当我把它串起来,我得到了回来:

 {"_options":{"auth":"*********"},"activities":{},"captions":{},"channelBanners":{},"channelSections":{},"channels":{},"commentThreads":{},"comments":{},"guideCategories":{},"i18nLanguages":{},"i18nRegions":{},"liveBroadcasts":{},"liveStreams":{},"playlistItems":{},"playlists":{},"search":{},"subscriptions":{},"thumbnails":{},"videoAbuseReportReasons":{},"videoCategories":{},"videos":{},"watermarks":{},"google":{"_options":{},"auth":{"_cachedCredential":null}}} 

所以所有的小“子对象”都是空的。 我该如何解决?

你有没有检查依赖项是否列在你的package.json文件中? 如果不尝试npm install –save googleapis,直接将其添加到您的依赖项列表中

没有什么值得担忧的事实,即当你的youtubevariables在string化时显示空对象,因为那个对象的JSON表示只包含基本types的属性。 youtube.videos对象仅包含由JSON.stringify所忽略的JSON.stringify

尝试这个:

 var google = require('googleapis'); var youtube = google.youtube({version: 'v3', auth: API_KEY}); var queryOptions = { 'part': 'id,snippet', 'maxResults': 5, 'id': 'dQw4w9WgXcQ,HL1UzIK-flA' }; youtube.videos.list(queryOptions, function(err, data) { if(err) { console.error(err); return; } console.log(data); }); 

对于YouTube API我使用YouTube节点,它工作正常: https : //github.com/nodenica/youtube-node