【问题标题】:Uploaded Google Drive file can't be updated via API上传的 Google Drive 文件无法通过 API 更新
【发布时间】:2020-06-15 10:07:28
【问题描述】:

我想就更新 Google 云端硬盘上的文件向您寻求帮助。 我在本地创建了一个 XLSX 文件并将其上传到 GD。然后在我的前端将一行附加到 XLSX。然后应该将更新后的 XLSX 更新/上传到 GD 并替换旧文件。

上传的代码 sn-p 如下所示:

const res = await fetch(`https://www.googleapis.com/upload/drive/v3/files/${fileId}`?uploadType=multipart`, {
          mode: 'cors',
          method: 'PUT', 
          headers: { Authorization: `Bearer ${this.token}` },
          body: payload,
        });

这会导致错误代码 404,但是我不明白为什么权限不够,因为我创建了具有相同权限的文件。 我读到应该使用 PUT 而不是 PATCH,但这会导致相同的错误。

我真的不知道该怎么做,因为它有效,如果我这样做:

const res = await fetch(`${Urls.upload}?uploadType=multipart`, {
          ...baseFetchOpts,
          method: 'POST',
          headers: { Authorization: `Bearer ${this.token}` },
          body: payload,
        });

但随后会创建一个新文件。

非常感谢您对此主题的见解和帮助!

问候, 费边

【问题讨论】:

  • 完整的错误信息是什么?当您对用户进行身份验证时,您要求什么范围?为什么不使用 Google apis js 客户端库?
  • 感谢您的回复,@DaImTo。事实证明,在此 fetch 调用之前,还尝试对用户文件夹进行 PATCHed,这当然没有用。我更改了代码,它现在可以正常工作了。

标签: javascript reactjs google-api google-drive-api


【解决方案1】:

原来错误的原因是创建的文件夹也尝试更新,这当然不起作用。 现已修复。

【讨论】:

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