当前位置: 首页 > 知识库问答 >
问题:

谷歌驱动器上传文件

宰父熙云
2023-03-14
function uploadFile() {
  let accessToken = gapi.auth.getToken().access_token; // Google Drive API Access Token

  let fileContent = document.querySelector('#content').value; // As a sample, upload a text file.
  console.log('File Should Contain : ' + fileContent);
  let file = new Blob([fileContent], { type: 'application/text' });

  let metadata = {
    name: 'Background', // Filename
    mimeType: 'text/plain', // mimeType at Google Drive
    parents: ['root'], // Folder ID in Google Drive
  };

  let form = new FormData();
  form.append(
    'metadata',
    new Blob([JSON.stringify(metadata)], { type: 'application/json' })
  );
  form.append('file', file);

  fetch(
    'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&fields=id',
    {
      method: 'POST',
      headers: new Headers({ Authorization: 'Bearer' + accessToken }),
      body: form,
    }
  )
    .then((res) => {
      return res.json();
    })
    .then(function (val) {
      console.log(val);
    });
}

这是我收到的错误

error:
code: 401
errors: Array(1)
0: {domain: "global", reason: "authError", message: "Invalid Credentials", locationType: "header", location: "Authorization"}
length: 1
__proto__: Array(0)
message: "Invalid Credentials"
__proto__: Object
__proto__: Object

共有1个答案

段干浩荡
2023-03-14

我认为您出现无效凭据的原因是标头:新标头({authorization:'bearer'+accessToken}),。请修改如下。

headers: new Headers({ Authorization: 'Bearer' + accessToken }),
headers: new Headers({ Authorization: 'Bearer ' + accessToken }),
  • 请在承载前添加的空格。
  • 我认为当以上修改完成后,您的脚本就可以上传文本文件了。
  • HTTP身份验证
 类似资料:
  • 这段代码运行良好: 有人能帮我修一下密码吗?

  • 我是否需要登录到google cloud来访问身份验证令牌或凭据的API

  • 当观察驱动器更改时,我会收到带有新更改ID的通知。但是当我尝试使用:driveservice.changes().get(changeId)查询它时,我断断续续地得到404。我是不是做错什么了? 正在观看文件: 当观察文件更改时,如果是文件夹,我想知道添加到该文件夹的新文件,所以我希望从该文件夹添加/删除文件时,“x-goog-resource-state”将包含“add/remove”值,而“x

  • 下面是https://github.com/google/google-api-nodejs-client的代码。 一般问题:刷新令牌实际上如何与访问令牌一起工作? 背景:根据我的解释,每个访问令牌都有一个有限的时间跨度(~1小时)。因此,当用户第一次连接到我的服务器(服务器为用户身份验证提供了机制)时,服务器将收到有限生命期访问令牌和一次性刷新令牌。1小时后,访问令牌过期。 谢了!