【发布时间】: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