Angular 尝试使用V3API获取Youtube视频的数据将返回CORS
我正在尝试使用Angular的V3 youtube数据API获取视频数据,我有一个帐户,设置了一个项目,添加了API并获得了API密钥。所有这些都是在谷歌开发者网站上设置的,包括正确的限制。 但是当我试图发送一个简单的HTTP get调用时,我得到了CORS。 电话是:Angular 尝试使用V3API获取Youtube视频的数据将返回CORS,angular,typescript,cors,youtube-data-api,Angular,Typescript,Cors,Youtube Data Api,我正在尝试使用Angular的V3 youtube数据API获取视频数据,我有一个帐户,设置了一个项目,添加了API并获得了API密钥。所有这些都是在谷歌开发者网站上设置的,包括正确的限制。 但是当我试图发送一个简单的HTTP get调用时,我得到了CORS。 电话是: this.http.get('https://www.googleapis.com/youtube/v3/videos?id=kd1u1ZdJz4w&key=mykey&fields=items(snippet
this.http.get('https://www.googleapis.com/youtube/v3/videos?id=kd1u1ZdJz4w&key=mykey&fields=items(snippet(title))&part=snippet')
.subscribe(res => {
console.log(res);
});
获取错误:
访问位于的XMLHttpRequest
'https://www.googleapis.com/youtube/v3/videos?id=kd1u1ZdJz4w&key=myket&fields=items(代码段(标题))&部分=代码段'
来自来源的“mydomain”已被CORS策略阻止:响应
飞行前请求未通过访问控制检查:的值
响应中的“访问控制允许凭据”标头为“”,其中
当请求的凭据模式为“包括”时,必须为“真”。这个
XMLHttpRequest启动的请求的凭据模式为
由withCredentials属性控制
当直接从浏览器导航到API链接时,我得到了一个成功的JSON响应
有什么建议吗?
谢谢 回答我自己的问题,
在我的例子中,这是因为我发送了一个授权头,它与API的响应不匹配,所以我从获取授权令牌中排除了url,并在http.get()函数中的options对象中添加了一个{withCredentials:false}参数。
效果很好