【问题标题】:Google Drive Upload File谷歌云端硬盘上传文件
【发布时间】:2020-07-24 01:48:04
【问题描述】:

我使用 xmlhttprequest 上传文件,但我使用的是 Service Worker,所以我切换到使用 fetch。

我在发送请求时收到 401 错误,但我知道我有访问令牌。

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

【问题讨论】:

    标签: javascript google-drive-api fetch


    【解决方案1】:

    我认为你的Invalid Credentials问题的原因是headers: new Headers({ Authorization: 'Bearer' + accessToken }),。请进行如下修改。

    发件人:

    headers: new Headers({ Authorization: 'Bearer' + accessToken }),
    

    收件人:

    headers: new Headers({ Authorization: 'Bearer ' + accessToken }),
    
    • 请在Bearer之前添加一个空格 ,如上。
    • 我认为完成以上修改后,您的脚本可以上传文本文件了。

    参考:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多