我正在尝试使用以下设置向google contacts API发出ajax请求:
$.ajax({
url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all",
dataType: 'jsonp',
data: {
alt: 'json-in-script'
},
headers: {
'Authorization': 'Bearer ' + token
},
success: function(data, status) {
return console.log("The returned data", data);
}
});
但是似乎没有设置身份验证头。有什么想法吗?
发布于 2011-09-15 23:53:41
最近我也遇到了同样的问题。试试这个:
$.ajax({
url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all",
dataType: 'jsonp',
data: {
alt: 'json-in-script'
},
success: function(data, status) {
return console.log("The returned data", data);
},
beforeSend: function(xhr, settings) { xhr.setRequestHeader('Authorization','Bearer ' + token); }
});
编辑:看起来不能用JSONP完成。Modify HTTP Headers for a JSONP request
发布于 2014-07-11 00:02:49
当跨域请求中需要身份验证时,您必须使用某种类型的代理服务器。
由于使用dataType: jsonp
会导致HTTP请求实际上是从添加到DOM的脚本发出的,因此将不使用$.ajax
中设置的标头。
发布于 2016-09-08 01:08:10
似乎大多数OAUTH2 REST资源都接受access_token参数作为请求url的一部分
http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#query-param
请尝试以下代码:
$.ajax({
dataType: 'jsonp',
url: url,
data: {
'access_token':token.access_token
},
jsonpCallback: 'thecallback',
success: function(data){
_cb(data);
},
error: function(d){
_cb(d);
}
});
https://stackoverflow.com/questions/7433556
复制相似问题