如何向 Google Drive API 发出 Ajax 调用?

How do you make an Ajax call to Google Drive API?

我的代码可以获得 auth2.0 令牌...但是我发现的示例没有显示获取 GET 的最后一部分,前提是 here,并将其转换为工作请求.

这是 link 中的具体 URL:

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

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

$.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 文档的页面和页面不包含任何走这条路的示例。

我在服务器响应中收到 "invalid credential" 个错误。

我不想使用 GAPI,因为我 运行 在本地遇到无效 cookie 问题 运行 并且我的代码在 Chrome 扩展中,目前尚不清楚是否方法将在那里起作用。

感谢您的帮助或指导。

在您的代码中,这一行:

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

Bearer

之后应该有一个 space
request.setRequestHeader("Authorization", "Bearer " + token);