0

我正在实现(我正在尝试实现)一个 100% 的客户端 AngularJS 网络应用程序,它应该访问谷歌日历 API。当然,这不起作用,因为我遇到了跨域问题:

XMLHttpRequest cannot load http://... . Origin http://localhost:9000 is not allowed by Access-Control-Allow-Origin.

除了创建代理之外,是否有任何解决方案可以绕过此问题?通过设置一些标题或更改一些谷歌配置?我一个都没看到...

4

3 回答 3

0

您需要谷歌方将正确的标题 Access-Control-Allow-Origin 返回到您的浏览器,这样它就不会抱怨跨浏览器问题。

确保在谷歌云控制台中正确配置为 Web 应用程序。我假设网络应用程序是因为重定向。

如果它是一个电话应用程序或不在 localhost:9000 重定向端点上提供任何服务,则还有其他选项。例如,您可以在另一个窗口中打开 oauth 重定向,仍然使用 localhost:9000 作为重定向。即使您没有在该端口侦听,您仍然可以从父窗口获取在重定向上设置的 url 代码或错误。

于 2013-12-18T19:19:45.840 回答
0

伟大的暗示菲利普!google javascript api 客户端(见这里)完成了这项工作。

但我想知道:google javascript api客户端如何绕过跨域问题?有人知道吗?

于 2013-03-11T07:22:10.260 回答
0

CORS 是您在通过 Web 浏览器运行应用程序时会遇到的问题。我建议你在谷歌浏览器上下载一个 CORS 切换扩展,这样你就可以关闭 CORS 并且 API 将连接。祝你好运!

于 2017-02-05T04:23:07.807 回答