Javascript 对使用GoogleAPI获取感到困惑吗
我正在学习如何使用Fetch并使用以下代码来获取YouTuBe视频详细信息,效果很好:Javascript 对使用GoogleAPI获取感到困惑吗,javascript,api,fetch,Javascript,Api,Fetch,我正在学习如何使用Fetch并使用以下代码来获取YouTuBe视频详细信息,效果很好: const fetchPromise = fetch('https://www.googleapis.com/youtube/v3/videos?id=VIDEOID&part=contentDetails&key=MYKEY'); 现在,如果我尝试将密钥作为如下参数传递: const fetchPromise = fetch('https://www.googleapis.com/yout
const fetchPromise = fetch('https://www.googleapis.com/youtube/v3/videos?id=VIDEOID&part=contentDetails&key=MYKEY');
现在,如果我尝试将密钥作为如下参数传递:
const fetchPromise = fetch('https://www.googleapis.com/youtube/v3/videos', {
key:'MYKEY',
id:'VIDEOID',
part:'contentDetails',
method:'GET'
});
它不起作用。我收到一个错误“请求缺少有效的API密钥。”
我的问题是,为什么API完全忽略我传递的参数?我的格式错了吗?谢谢 看看这张照片
fetch
的第二个参数是“包含要应用于请求的任何自定义设置的对象。”
它不是要包含在查询字符串中的键值对的集合fetch
没有该选项
如果需要,请使用:
哦,我明白了!我阅读了文档,完全误解了这一部分。非常感谢你,我已经想了一段时间了,哈哈。
const data = {
key:'MYKEY',
id:'VIDEOID',
part:'contentDetails',
};
const base_url = "https://www.googleapis.com/youtube/v3/videos";
const url = new URL(base_url);
Object.entries(data).forEach( ([key, value] => url.searchParams.append(key, value) );
const fetchPromise = fetch(url, {
method:'GET'
});