我正在将文件上传到云端硬盘,然后尝试使用ID更新文件名。这就是我正在做的:
const updateFileName = await axios.patch(`https://www.googleapis.com/upload/drive/v3/files/${fileId}?updloadType=media`,
{'name':'MyFile.docx'},
{headers:
{'Content-Type': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'Authorization': `Bearer ${some_value}`,
},
},)
问题是,它不更新文件名,而是更新文件的内容,并将内容替换为{'name':'MyFile.docx'}
。我不知道为什么它代替实际的内容而不是文件名。用于更新的Drive v3 API在请求正文中需要一个name / originalName属性,我尝试了两者。我还尝试过将name
替换为title
。在所有情况下,它都会覆盖文件中的实际内容,而不是更改文件名。有人可以给我一个解决办法的想法吗?
答案 0 :(得分:0)
问题是?updloadType=media
告诉Google您想更新媒体内容。失去那一点,您就可以参加比赛了。 Content Type
可能会被删除,但是如果您指定它,它应该是application/json
,URL应为https://www.googleapis.com/drive/v3/files/fileId