Javascript AJAX GMAIL API调用授权错误
我是GMail API的新手,正在尝试使用AJAX调用来检索邮件 我的代码是:Javascript AJAX GMAIL API调用授权错误,javascript,ajax,gmail-api,Javascript,Ajax,Gmail Api,我是GMail API的新手,正在尝试使用AJAX调用来检索邮件 我的代码是: $.ajax({ beforeSend: function (request) { request.setRequestHeader("authorization", "Bearer xxxxxxxxxxxxxxxxx.apps.googleusercontent.com"); }, url: 'https://www.googleapis.com
$.ajax({
beforeSend: function (request)
{
request.setRequestHeader("authorization", "Bearer xxxxxxxxxxxxxxxxx.apps.googleusercontent.com");
},
url: 'https://www.googleapis.com/gmail/v1/users/me/messages?key=xxxxxxxxxxxxxxxxxx',
dataType: 'json',
cache: false,
success: function(data) {
// this.setState({Emails: data});
console.log("Mail thread"+data);
}.bind(this),
error: function(xhr, status, err) {
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
该响应是一个401错误。在检查请求时,我发现以下查询参数附加到发送的请求URL:
&_=1470236511985
因此请求URL如下所示
https://www.googleapis.com/gmail/v1/users/me/messages?key=xxxxxxxxxxxxxxxxxx&_=1470236511985
追加的查询参数是导致401错误的原因,还是我使用的授权标头不正确?我怎样才能解决这个问题
提前感谢。出于测试目的,您可以访问并获得带有Gmail API作用域的访问令牌。只需在名为
access\u token
的查询参数中使用此访问令牌:
var accessToken = 'ya29...';
$.ajax({
url: 'https://www.googleapis.com/gmail/v1/users/me/messages?access_token=' + accessToken,
dataType: 'json',
success: function(data) {
console.log(data.messages);
}
}
只有在使用访问令牌时,才应使用
授权
-头,其值为'Bearer'+accessToken
。如果您正在使用应用程序密钥,只需像现在这样使用查询参数key
就足够了。即使删除标题并将API密钥作为查询参数传递,也会导致401。从中获取Gmail API访问令牌。在查询参数access\u token
中使用该令牌。“这样行吗?”Thole做得很好。非常感谢,太好了!我从来没有在我的Gmail应用程序中使用过密钥,但是从操场上获取用于测试目的的令牌非常有用。也许谷歌专业人士稍后可以详细说明密钥。你能告诉我如何获得真正使用的accesstoken吗?