节点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,直接将其添加到您的依赖项列表中
没有什么值得担忧的事实,即当你的youtube
variables在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
- setCredentials不是googleapis.auth.OAuth2中的函数
- Google API NodeJS Library OAuth2请求
- 使用访问令牌在节点中获取Google +用户个人资料
- Google API NodeJS:calendar.events.watch获取错误push.webhookUrlNotHttps或pushWebhookBadDomain
- 在Google云端存储中使用nodejs gcloud api移动/重命名文件夹
- GoogleloginNodejs中的Android服务器端身份validation
- 谷歌API日历手表不起作用,但渠道创build
- 使用从客户端接收到的谷歌授权代码在服务器端获取访问令牌javascript(nodejs)
- 从NodeJS(或云function)获取GCE实例的临时IP