我有类似以下内容:
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
错误?
相关分类