从youtube API获取数据

问题描述 投票:0回答:1

我想要一个代码,在给定的搜索查询上我可以获取视频标题、描述、观看次数、喜欢次数等详细信息。我收到错误如下 类型错误:无法读取未定义的属性(读取“片段”)

代码块如下

// Replace with your own YouTube API key from the credentials JSON file
const API_KEY = 'YOUR_YOUTUBE_API_KEY';

function fetchYouTubeData(searchQuery) {
  const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&q=${encodeURIComponent(searchQuery)}&key=${API_KEY}`;

  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());

  const videos = data.items.filter(item => item.id.kind === 'youtube#video');

  const results = [];

  videos.forEach(video => {
    const videoId = video.id.videoId;
    const videoDetails = fetchVideoDetails(videoId);
    results.push(videoDetails);
  });

  return results;
}

function fetchVideoDetails(videoId) {
  const url = `https://www.googleapis.com/youtube/v3/videos?part=statistics&id=${videoId}&key=${API_KEY}`;

  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());

  const videoDetails = {
    videoId: videoId,
    title: data.items[0].snippet.title,
    views: data.items[0].statistics.viewCount,
    likes: data.items[0].statistics.likeCount,
    dislikes: data.items[0].statistics.dislikeCount,
  };

  return videoDetails;
}
youtube-api youtube-data-api
1个回答
0
投票

在函数 fetchVideoDetails(videoId) 中:

const url = `https://www.googleapis.com/youtube/v3/videos?part=statistics&id=${videoId}&key=${API_KEY}`;

您只提到“统计”和“id”部分,但随后在标题中调用“片段”:

data.items[0].snippet.title

您还需要提及“片段”。

© www.soinside.com 2019 - 2024. All rights reserved.