2017-02-21 22 views
0

Я хочу Пусто Share with me folder Как я могу опорожнить Это мой код, и я использую Google Drive V3.Пустой общий со мной Папка на Google Диске?

service.Permissions.Delete(PermissionID, fileId).Execute(); 
service.Files.Delete(fileId).Execute(); 

Обе строки дают разрешение 403 ошибки.

Если удалить MyDrive файл, что время второй линии он работал нормально, но поделилась со мной Папка не Удаляется

+0

Вы используете учетную запись службы? – DaImTo

ответ

0

Что вам нужно помнить о том, что доля со мной не файл, который вы на самом деле принадлежит, поэтому это Didn Не работай.

service.Files.Delete (fileId) .Execute();

Сначала получите список всех файлов в папке «Поделиться со мной».

var request = service.Files.List(); 
request.Q = "(sharedWithMe = true)"; 
request.Fields = "*"; 
var results = request.Execute(); 

Найдите файл, который вы хотите удалить:

var myfile = results.Files.Where(a => a.Name.ToLower().Equals("receipt.pdf")).FirstOrDefault(); 

Теперь найти разрешения на этот файл, связанный с текущей проверкой подлинности пользователя:

var per = myfile.Permissions.Where(a => a.EmailAddress.ToLower().Equals("[email protected]")).FirstOrDefault(); 

Удалением разрешений из почтового файла ,

service.Permissions.Delete(myfile.Id, per.Id).Execute(); 

Я тестировал его, и это сработало. Вы можете просто запустить начальный запрос, хотя цикл и удалить все, если хотите.

Примечание: Это не работает во всех случаях. У меня есть файл на моем диске Google, который поделился со мной тем, что похоже на учетную запись службы. У меня нет прав на файл, так как я не могу удалить свой доступ. Я все еще копаю.

+0

Ошибка разрешения возврата – KrishnaKanhaiya

+0

Используете ли вы учетную запись службы? Я смог сделать это с разрешениями только для чтения. Использование Oauth2 Вот полный источник, который я использовал https://gist.github.com/LindaLawton/6e3b76fa3e9a2d8d72d96fe7f1d71297 – DaImTo