Загрузка файлов API Google Диска не показывает ошибок, но не загружается на подключенный дискC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Загрузка файлов API Google Диска не показывает ошибок, но не загружается на подключенный диск

Сообщение Anonymous »

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

Код: Выделить всё

        public async Task DriveUploadBasic(string filePath) {
try {
// Load pre-authorized user credentials from the environment.
string keyPath = $"{Directory.GetCurrentDirectory()}\\googleapi1.json";
GoogleCredential credential = GoogleCredential.FromFile(keyPath)
.CreateScoped(DriveService.Scope.Drive)
.CreateScoped(DriveService.Scope.DriveFile);

// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer {
HttpClientInitializer = credential,
ApplicationName = "TestingApp1"
});

//service.HttpClient.Timeout = TimeSpan.FromMinutes(2);

// Upload file photo.jpg on drive.
var fileMetadata = new Google.Apis.Drive.v3.Data.File() {
Name = "test1.csv"
};
FilesResource.CreateMediaUpload request;
// Create a new file on drive.
using (var stream = new FileStream(filePath, FileMode.Open)) {
// Create a new file, with metadata and stream.
request = service.Files.Create(fileMetadata, stream, "text/csv");
request.Fields = "id";
var progress = await request.UploadAsync().ConfigureAwait(false);
if (progress.Status == UploadStatus.Failed) {
Log($"Upload failed: {progress.Exception}");
}

var file = request.ResponseBody;
//Log(request.ResponseBody.ToString());
// Prints the uploaded file id.
}
}
catch (Exception e) {
if (e is AggregateException) {
Log("Credential Not found");
}
else if (e is FileNotFoundException) {
Log("File not found");
}
else {
Log(e.Message);
}
}
}
Любая помощь великолепна, спасибо!
В ходе отладки я получил следующие результаты:
  • Соединение со службой создается, никаких исключений не создается.
  • Идет чтение файла загрузки (все 882 байта).
  • Мой запрос сообщает мне, что процесс завершен и что все 882 байта были отправлены
  • Тело ответа предоставляет мне новый идентификатор, который должен быть идентификатором файла в моем диск.
    - Хотя все выглядит хорошо, на моем диске нет файлов.
Возможная проблема:< /p>
  • мой поток выдает ошибку тайм-аута чтения и записи, но я не думаю, что это связано с чем-то, поскольку мой файл читается и все байты востребованы быть отправленным. Эта ошибка может быть связана с нестабильным подключением к Интернету.
Любая помощь очень важна, спасибо!

Подробнее здесь: https://stackoverflow.com/questions/787 ... -connected
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»