具有浏览器获取功能的 Youtube v3 API 会引发“视频”的 CORS 错误

我有类似以下内容:



const BASE_URL = 'https://www.googleapis.com/youtube/v3';


/**

 * @param {string} channelId 

 * @param {string?} pageToken 

 */

const getPlaylist = (channelId, pageToken) => {

  const url = `${BASE_URL}/playlists?part=snippet&channelId=${channelId}&key=${API_KEY}&part=id,snippet&maxResults=50`;

  return pageToken ? `${url}&pageToken=${pageToken}` : url;

};


/**

 * @param {string} playlistId 

 * @param {string?} pageToken 

 */

const getPlaylistItems = (playlistId, pageToken) => {

  const url = `${BASE_URL}/playlistItems?part=snippet&playlistId=${playlistId}&key=${API_KEY}&part=id,snippet&maxResults=50`;

  return pageToken ? `${url}&pageToken=${pageToken}` : url;

}


const getVideo = videoId => `${BASE_URL}/vidoes?part=statistics&id=${videoId}&key=${API_KEY}`;


const fetchViewCountByVideoId = async videoId => {

  const response = await fetch(getVideo(videoId));

  const { statistics: { viewCount } } = await response.json();

  return viewCount;

};

所以我试图获取频道的播放列表,获取每个播放列表中的所有播放列表项目,获取每个项目的观看次数。(我省略了其余的代码,因为它工作正常。)

问题是,前两个 API 批量调用工作正常,但是当我访问 API 时videos,会抛出 CORS 错误。

(我在浏览器控制台中运行代码,因为使用此代码的人不是程序员,而且我不想花时间创建网页并托管它。)

问题

我是否需要登录 API 调用才能正常工作(并使用标authorization头),或者 API 的响应是否存在videos错误?


ITMISS
浏览 71回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript