【发布时间】:2020-01-16 16:49:33
【问题描述】:
我正在尝试使用 google drive v3 API 重命名 google drive 文件。 这是我的代码:
public async Task<File> RenameFile(String fileId,
String newFilename)
{
try
{
DriveService service = await GetDriveService();
// First retrieve the file from the API.
Google.Apis.Drive.v3.Data.File file = service.Files.Get(fileId).Execute();
// File's new metadata.
// file.Name = newFilename;
file.OriginalFilename = newFilename;
File newFile = new File();
newFile = file;
// Send the request to the API.
FilesResource.UpdateRequest request = service.Files.Update(newFile, fileId);
request.Fields = "id, name, thumbnailLink";
File uploadedFile = request.Execute();
return uploadedFile;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
return null;
}
这是抛出一个错误:
发生错误:Google.Apis.Requests.RequestError 资源主体包括不可直接写入的字段。 [403] 错误 [ 消息[资源主体包括不可直接写入的字段。]位置[-]原因[fieldNotWritable]域[全局] ]
请帮帮我,我尝试了很多方法,但都不起作用。
我的驱动器和文件仅与单个用户共享,并且我使用控制台自托管服务与驱动器交互,因此最终它是通过 API 使用驱动器的单个用户。
【问题讨论】:
-
它正在使用 v2,但在 v3 中出现相同的错误。参考:developers.google.com/drive/api/v2/reference/files/patch
标签: c# google-drive-api rename