Неверные учетные данные аутентификации при попытке вывести список папок Google Диска из приложения C#C#

Место общения программистов C#
Ответить
Anonymous
 Неверные учетные данные аутентификации при попытке вывести список папок Google Диска из приложения C#

Сообщение Anonymous »

Я пытаюсь написать простое приложение C# .NET, которое выводит содержимое папки Google Диска с использованием API Google v1.68.
Я выполнил следующую настройку:
  • Создал проект в Google Cloud.
  • Создал сервисный аккаунт для этого проекта.
  • Создал ключ для этого сервисного аккаунта и скачал. он
  • Убедился, что моя тестовая папка на диске Google имеет разрешение на чтение для учетной записи службы (с использованием адреса электронной почты, предоставленного облаком Google).
  • Написал следующий код и скомпилировал его:

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

    public class GoogleDriveService
{
public struct FileInfo
{
public string id;
public string name;
public string mimeType;
}
private readonly DriveService _driveService;

public GoogleDriveService(string serviceAccountJsonPath, string applicationName)
{
using (var stream = new System.IO.FileStream(serviceAccountJsonPath, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
var serviceAccountCredential = ServiceAccountCredential.FromServiceAccountData(stream);
_driveService = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = serviceAccountCredential,
ApplicationName = applicationName
});
}
}

public async Task ListFolderContents(string folderId)
{
var request = _driveService.Files.List();
request.Q = $"parents = '{folderId}'";
request.Fields = "nextPageToken, files(id, name, mimeType)";

var files = new List();
do
{
var response = await request.ExecuteAsync();
files.AddRange(response.Files);
request.PageToken = response.NextPageToken;
} while (!string.IsNullOrEmpty(request.PageToken));

var fileInfoList = new List();

foreach(File file in files)
{
fileInfoList.Add(new FileInfo()
{
id = file.Id,
name = file.Name,
mimeType = file.MimeType
});
}

return fileInfoList;
}
}
Когда я запускаю запрос списка файлов, я получаю набор исключений.

Служебный диск выдал исключение.
HttpStatusCode не авторизован.
Google.Apis.Requests.RequestError
В запросе указаны неверные учетные данные для аутентификации. Ожидается токен доступа OAuth 2, файл cookie для входа или другие действительные учетные данные для аутентификации.

Помогите мне устранить эту ошибку. (Были бы признательны за примеры кода, а не за указания к документации, поскольку я пытался, но не смог понять документы, и это лишь малая часть моего проекта.)

Подробнее здесь: https://stackoverflow.com/questions/792 ... older-from
Ответить

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

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

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

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

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