AJAX GMAIL API 调用授权错误

AJAX GMAIL API Call Authorization error

我是 GMail 的新手 API,我正在尝试拨打 AJAX 电话来检索邮件。

我的代码是:

 $.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 错误还是我使用授权不正确 header?我该如何解决这个问题。

提前致谢。

出于测试目的,您可以转到 OAuth 2.0 Playground 并获取 Gmail API 范围的访问令牌。只需在名为 access_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);
  }
}