Google云端硬盘API:无法更新文件名

时间:2018-07-24 17:52:24

标签: node.js google-api google-drive-api

我正在将文件上传到云端硬盘,然后尝试使用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。在所有情况下,它都会覆盖文件中的实际内容,而不是更改文件名。有人可以给我一个解决办法的想法吗?

1 个答案:

答案 0 :(得分:0)

问题是?updloadType=media告诉Google您想更新媒体内容。失去那一点,您就可以参加比赛了。 Content Type可能会被删除,但是如果您指定它,它应该是application/json

,URL应为https://www.googleapis.com/drive/v3/files/fileId