【问题标题】:Trying to fetch data for a Youtube video with the v3 API returns CORS尝试使用 v3 API 获取 Youtube 视频的数据会返回 CORS
【发布时间】:2021-04-25 17:50:09
【问题描述】:

我正在尝试使用 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(title))&part=snippet')
            .subscribe(res => {
              console.log(res);
            });

得到错误:

访问 XMLHttpRequest 在 'https://www.googleapis.com/youtube/v3/videos?id=kd1u1ZdJz4w&key=myket&fields=items(sn-p(title))&part=sn-p' 来自原点“mydomain”已被 CORS 策略阻止:响应 预检请求未通过访问控制检查: 响应中的“Access-Control-Allow-Credentials”标头是“” 当请求的凭据模式为“包含”时,必须为“真”。这 XMLHttpRequest 发起的请求的凭证模式是 由 withCredentials 属性控制。

当从浏览器直接导航到 API 链接时,我得到了成功的 JSON 响应。

有什么建议吗? 谢谢!

【问题讨论】:

    标签: angular typescript cors youtube-data-api


    【解决方案1】:

    回答我自己的问题, 在我的情况下,这是因为我发送了一个授权标头并且它与 API 的响应不符,所以我从获取授权令牌中排除了 url,并在 http.get 中的选项对象中添加了一个 { withCredentials: false } 参数() 功能。 效果很好。

    【讨论】:

      猜你喜欢
      • 2013-11-21
      • 1970-01-01
      • 2015-08-29
      • 2018-06-28
      • 2014-01-26
      • 2014-06-05
      • 2016-01-17
      • 2015-12-01
      • 2012-07-12
      相关资源
      最近更新 更多