我无法找到解决问题的方法。我试图通过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"});
}
}
使用postman我有access_token所以url和数据是正确的。我已经尝试了this和jsonp以及许多其他答案,但我总是得到相同的结果:
XMLHttpRequest无法加载https://accounts.google.com/o/oauth2/token。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原始
'http://localhost:63342'
访问。
我做错了什么?
答案 0 :(得分:1)
如果你使用AJAX,你将无法绕过安检,它总是会阻止你使用这种方法。 我看到了2个选项。