“ googleapis”:“ ^ 16.1.0”
我有一个播放列表,其中有两个视频。如何获得视频ID?
我尝试了这个:
// Node.js const google = require('googleapis'); const youtube = google.youtube('v3'); const secrets = require('./secrets.json'); const results = youtube.playlists.list({ auth: secrets.web.api_key, part: 'id', id: 'PLvxLmGsmqdZc-GYVeLhS0N_6jfrzEleQm' }); console.log(results);
执行代码后,我收到以下消息:https : //gist.github.com/SergeyBondarenko/ea6a2aad546ded32e4a9b3cf53228fef
而且只有播放列表ID:
// Node.js > results.responseContent.body.items [ { kind: 'youtube#playlist', etag: '"gMxXHe-zinKdE9lTnzKu8vjcmDI/cYPhPXIoWu4acW3Qux1D5WZ3WwE"', id: 'PLvxLmGsmqdZc-GYVeLhS0N_6jfrzEleQm' } ]
我items在results对象内部没有属性:
items
results
// Node.js > request.i request.isPrototypeOf request.init
据我了解,该items属性必须包含结果,如以下示例所示:
// Python results = youtube.playlists().list( part="snippet,localizations", id=playlist_id ).execute() playlist = results["items"][0]
https://developers.google.com/youtube/v3/docs/playlists/list
我使用了错误的方法来检索播放列表视频ID。使用的方法是playlistItems:
// Node.js const { google } = require('googleapis'); const youtube = google.youtube('v3'); const secrets = require('./secrets.json'); youtube.playlistItems.list({ key: secrets.web.api_key, part: 'id,snippet', playlistId: 'PLvxLmGsmqdZc-GYVeLhS0N_6jfrzEleQm', maxResult: 10, }, (err, results) => { console.log(err ? err.message : results.items[0].snippet); });
结果:
{ publishedAt: '2017-01-21T13:16:09.000Z', channelId: 'UCSD9RekiljT4DzK_6VvYY6A', title: 'Monster (feat. Jay-Z, Nicki Minaj, Rick Ross, Bon Iver)', description: 'Oficial', thumbnails: { default: { url: 'https://i.ytimg.com/vi/EOpQdJ5F5TI/default.jpg', width: 120, height: 90 }, medium: { url: 'https://i.ytimg.com/vi/EOpQdJ5F5TI/mqdefault.jpg', width: 320, height: 180 }, high: { url: 'https://i.ytimg.com/vi/EOpQdJ5F5TI/hqdefault.jpg', width: 480, height: 360 }, standard: { url: 'https://i.ytimg.com/vi/EOpQdJ5F5TI/sddefault.jpg', width: 640, height: 480 } }, channelTitle: 'Sergey Bondarenko', playlistId: 'PLvxLmGsmqdZc-GYVeLhS0N_6jfrzEleQm', position: 0, resourceId: { kind: 'youtube#video', videoId: 'EOpQdJ5F5TI' } }