我正在编写一个JS应用程序来读取和写入Google日历。我无法直接使用google api,因为这与我的目标环境不兼容,它在本地Apache服务器上作为单个网页运行。为此,我使用XmlHttpRequest,这工作正常,但只有当我包含访问令牌,即
xmlReq.setRequestHeader("Authorization", "Bearer " + GOOGLE_ACCESS_TOKEN);
所以我要做的是使用初始XHR获取访问令牌我一直在关注这个文档 https://developers.google.com/accounts/docs/OAuth2UserAgent 这将返回错误消息:
“请求的资源上没有'Access-Control-Allow-Origin'标头。因此不允许Origin localhost访问。“
我已经看到此消息已经与XHR跨域请求有关,但我看不出这里有什么问题。
有什么想法吗?
以下是代码:
this.xmlReq = new XMLHttpRequest();
this.currentUrl='https://accounts.google.com/o/oauth2/auth?';
this.currentUrl += 'response_type=token';
this.currentUrl += '&redirect_uri=http://localhost';
this.currentUrl += '&client_id=999999999999.apps.googleusercontent.com';
this.currentUrl += '&scope=https://www.googleapis.com/auth/calendar';
this.xmlReq.open("GET", this.currentUrl, true);
this.xmlReq.responseType = "auth";
this.xmlReq.send();