Я использую v3. Net Google Apis. Кажется, это должно быть простой задачей, но, похоже, ничего из того, что я пробовал, не работает.
Я могу получить ресурс файла для нужного файла, выполнив это -
var fileRequest = service.Files.Get(fileId);
fileRequest.Fields = "*";
var fileResponse = fileRequest.Execute();
Но тогда я не смог найти способ загрузить файл. Если я использую это -
var exportRequest = service.Files.Export(fileResponse.Id, fileResponse.MimeType);
exportRequest.Download(stream);
Возвращает статус 403 Запрещено с сообщением о том, что Экспорт предназначен только для документов Google.
Я пробовал это -
var downloadTask = exportRequest.MediaDownloader.DownloadAsync(@"https://docs.google.com/uc?export=download&id=" + fileResponse.Id, file);
downloadTask.Wait();
Но это просто возвращает разметку страницы, чтобы пользователь мог войти в систему. Я создал запрос на экспорт, используя служебную учетную запись, поэтому вход в систему не требуется.
У кого-нибудь есть пример сделать это в. Net с использованием API Google V3?