javascript - 如何从 YouTube 播放列表获取视频 ID?

标签 javascript node.js youtube google-api-nodejs-client

"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' } ]

我的 results 对象中没有 items 属性:

// 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

最佳答案

使用 Axios,你可以做类似的事情:

import axios from "axios";
const KEY = "";

const getPlayListItems = async playlistID => {
    const result = await axios.get(`https://www.googleapis.com/youtube/v3/playlistItems`, {
      params: {
        part: 'id,snippet',
        maxResults: 10,
        playlistId: playlistID
        key: KEY
      }
    });
    return result.data;
  };

  getPlayListItems("PlaylistID").then(data => {
    data.items.forEach(element => {
        console.log(element.snippet.resourceId.videoId)
});

这将打印给定播放列表的所有 videoId,直到位置 10。

关于javascript - 如何从 YouTube 播放列表获取视频 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41827728/

相关文章:

javascript - Chromedriver 76 破坏了我的测试套件 "javascript error: circular reference"

python - 吉普错误!堆栈错误 : Can't find Python executable

javascript - 黑色文本 - 黑色背景时为白色

javascript - 做完 space 后将文本框内容放在 span 或 li 上

javascript - 从elasticsearch创建wordcloud d3.js

javascript - 更新客户端 Javascript 游戏视口(viewport)

javascript - 始终传递 http 身份验证 header javascript

python - 在 Youtube API (Python) 中捕获 "Video already in playlist."错误

android - 服务com.google.android.youtube.api.service.YouTubeService泄漏了IntentReceiver uds @ 5fa5135

php - 从Facebook组获取YouTube嵌入