可以在浏览器中访问Google api,但未经授权从javascript访问



如果我在浏览器中输入以下网址:

https://www.googleapis.com/youtube/v3/search?part=snippet&q=algebra&key={My_API_KEY}

它工作正常,但是,当我尝试使用 Angular 来获取此内容时,我收到一个未经授权的错误:

$http.get("https://www.googleapis.com/youtube/v3/search?part=snippet&q=algebra&key={MY_API_KEY}");

此外,我的密钥设置为"允许任何引用"。

为什么这是一种方式,而另一种方式却不行?

我有一个httpInterceptor设置,用于向我之前设置的api的请求注入授权标头。这导致请求未定义。我将拦截器更改为将授权设置为未定义,之后它就工作了。

当您在浏览器中打开它时,您可以直接访问文件 当您尝试从代码中执行此操作时,您必须考虑 CORS 和跨域调用

你要做的是使用jsonp

$http.get("https://www.googleapis.com/youtube/v3/search?
part=snippet&q=algebra&key={MY_API_KEY}&callback=JSON_CALLBACK");

相关内容

  • 没有找到相关文章

最新更新