XMLHttpRequest不能加载https://accounts.google.com/o/oauth2/token
XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/token, Angularjs
我找不到解决问题的方法。我试图通过OAuth 2.0获得谷歌访问令牌,但我无法使我的后方法工作。这是我的代码:
function oauthCallback(url) {
var code,
obj, request;
if (url.indexOf("code=") > 0) {
code = url.substr(url.indexOf('=') + 1);
request = $http({
method: "POST",
url: GOOGLE_TOKEN_URL,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: 'code=' + code + '&client_id=' + googleClientID + '&client_secret=' + googleClientSecret + '&redirect_uri=' + redirectURI + '&grant_type=authorization_code'
});
request.success( function(data) {
tokenStore['googleToken'] = data.access_token;
});
request.error( function(data, status, headers, config) {
alert('failed!')
});
deferredLogin.resolve();
} else if (url.indexOf("error=") > 0) {;
deferredLogin.reject(obj);
} else {
deferredLogin.reject({error: 'error occured', error_description: 'Unknown', error_reason: "Unknown"});
}
}
使用邮差,我有access_token,所以url和数据是正确的。我已经尝试过这个和jsonp和许多其他答案,但我总是得到相同的结果:
XMLHttpRequest无法加载https://accounts.google.com/o/oauth2/token。请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问Origin
'http://localhost:63342'
。
我做错了什么?
如果您使用AJAX,您将无法绕过安全性它总是会阻止您使用此方法。我看到两个选项
- 将AJAX请求改为浏览器重定向。
- 在你的服务器上创建一个代理服务器,将请求转发给google,然后返回响应。
这看起来像一个副本Google oauth 400响应:No 'Access-Control-Allow-Origin'
相关文章:
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 实现一个建立在google.com之上的自定义搜索引擎
- 使用带有.net autopostback的ryanfait.com自定义表单元素
- parse.com类中指针中的查询指针
- 公共第一方客户端的适当OAuth2流
- http://oauth.googlecode.com/svn/code/javascript/oauth.js已关闭,
- Node JS-构造OAuth2请求
- 从Parse.com返回的格式化日期
- 如何通过justinaguilar.com设置动画延迟?[解决]
- 使用Parse.com查询制作新闻源
- 如何使用Parse.com JavaScript SDK上传图像
- 什么CSS/JS技巧驱动镜像反转http://com.google愚人节页面
- ko.com在foreach$data变量上添加了write函数
- 用于匹配abc.com.amp;abc.com/.*
- 在underscore.js中显示列表中的所有项目(使用Parse.com)
- 你如何在youtube.com上获得youtube视频的状态
- 在appcelerator中使用OAuth2
- 当URL以m.(网站).com开头时,浏览器需要自行调整大小
- XMLHttpRequest不能加载https://accounts.google.com/o/oauth2/token
- 连接通过oAuth2与jQuery/AJAX Box.com