Я загружаю файл с помощью службы acconut, затем я хочу передать разрешение владельца своей учетной записи, но всегда выдается исключение: «Тело ресурса включает в себя поля, которые не доступны для прямой записи».
Я прочитал официальный документ, в котором говорится, что поле "роль" доступно для записи.
https://developers.google.com/drive/api/v2/reference/permissions/update
Куда мне нужно внести исправления?
Моя версия API - Google ApisДиск v3
Вот пример кода, который я скопировал у разработчиков Google
try
{
// First retrieve the permission from the API.
Permission permission = service.Permissions.Get(fileId, permissionId).Execute();
permission.Role = newRole;
return service.Permissions.Update(permission, fileId, permissionId).Execute();
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
return null;
После Execute () я получил это сообщение об ошибке.
Google.Apis.Requests.RequestError Тело ресурса содержит поля, которые не доступны для прямой записи. [403] Ошибки [Сообщение [Тело ресурса включает в себя поля, которые не доступны для прямой записи.] Местоположение [-] Причина [fieldNotWritable] Домен [global]]
(обновление)
Я изменил свой код с помощью
public Permission ModifyPermission(DriveService service, string fileId, string permissionId, string newRole)
{
try
{
if (String.IsNullOrEmpty(newRole)) return null;
var permission = new Permission
{
Role = newRole
};
var request = service.Permissions.Update(permission, fileId, permissionId);
if(newRole == "owner") request.TransferOwnership = true;
return request.Execute();
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
return null;
}
Затем выдается еще одно исключение.
Google.Apis.Requests.RequestError У пользователя недостаточно прав для этого файла. [403] Ошибки [Сообщение [У пользователя недостаточно прав для этого файла.] Местоположение [-] Причина [достаточное количество_процессов] Домен [глобальный]]
Файл был загружен службойучетные данные в формате JSON. И я обновляю разрешение так же, как и полномочия на загрузку.
Чего мне не хватает?