如何对Google Drive API进行Ajax调用?

时间:2017-12-07 00:19:36

标签: ajax google-api google-drive-api google-authentication

我的代码可以获得一个auth2.0令牌......但我发现的示例并未显示最后一段获取GET,提供here,并将其转换为工作要求。

以下是该链接的具体网址:

GET https://www.googleapis.com/drive/v3/files/fileId

这是我的AJAX调用,尝试将令牌(有效)提取到我知道我的Google帐户可以访问的硬编码文件中。

$.ajax({
  type: "GET",
  beforeSend: function(request) {
    request.setRequestHeader("Authorization", "Bearer" + token);
  },
  // url: "https://www.googleapis.com/drive/v2/files/18qxc3YgnQ_Yg8n4Q18WCZahE9EPtOZWhoKJuAx6SEHI/permissions",
  url: "https://www.googleapis.com/drive/v3/files/18qxc3YgnQ_Yg8n4Q18WCZahE9EPtOZWhoKJuAx6SEHI",
  dataType: 'application/json',
  processData: true,
  success: function(msg) {
    console.log('Got File Metadata: ' + msg) + console.log(msg);
  },
  error: function (jqXHR, textStatus, errorThrown) {
    console.log('Error: ' + errorThrown + ' / ' + textStatus) + console.log(jqXHR);
  }
});

我不明白如何包含令牌,Google文档的页面和页面不包含任何走这条路线的示例。

我得到"无效的凭证"服务器响应中的错误。

我不想使用GAPI,因为我遇到了在本地运行的无效Cookie问题,我的代码在Chrome扩展程序中,并且不清楚该方法是否适用于那里。

感谢您的帮助或指导。

1 个答案:

答案 0 :(得分:0)

在您的代码中,这一行:

request.setRequestHeader("Authorization", "Bearer" + token);

你应该在Bearer之后有空格

request.setRequestHeader("Authorization", "Bearer " + token);