Почему нельзя перечислять пользователей или группы с помощью .NET Google Admin SDK Client Library - PullRequest
0 голосов
/ 30 ноября 2018

Scopes in OAuth Consent Screen in Google Cloud Platform Я пытаюсь вызвать AdminService API для управления группами моего домена, такими как добавление новых членов группы, создание новых групп и т. Д., Но я застрял с просьбой получить всех пользователеймоего домена.Вот код:

public static class MembersSample
        {
            static void Main(string[] args)
            {
                String serviceAccountEmail = "*****@*****.iam.gserviceaccount.com";

                var certificate = new X509Certificate2(@"pathofthefile.p12", "secret", X509KeyStorageFlags.Exportable);


                ServiceAccountCredential credential = new ServiceAccountCredential(
                new ServiceAccountCredential.Initializer(serviceAccountEmail)
                {
                    Scopes = new[] { 
                DirectoryService.Scope.AdminDirectoryUser,
                DirectoryService.Scope.AdminDirectoryGroup,
                DirectoryService.Scope.AdminDirectoryDomain,
                DirectoryService.Scope.AdminDirectoryGroupMember },
                    User = "domainmanageremail"
                }.FromCertificate(certificate));


                var dirservice = new DirectoryService(new Google.Apis.Services.BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "my application name",
                });




                var listReq = dirservice.Users.List();
                listReq.Domain = "my domain address";
                Users allUsers = listReq.Execute();
                int counter = 0;
                foreach (User myUser in allUsers.UsersValue)
                {
                    Console.WriteLine("*" + myUser.PrimaryEmail);
                     counter++;
                }
                Console.WriteLine(counter);
                Console.ReadKey();
            }

Я получаю эту ошибку;

Необработанное исключение: Google.Apis.Auth.OAuth2.Responses.TokenResponseException: Ошибка: "unauthorized_client", Описание: "Клиент не авторизован для получения маркеров доступа с использованием этого метода.", Uri: ""

Моя роль учетной записи службы - Пользователь учетной записи службы, а моя роль - Администратор учетной записи службы в этом проекте.Кроме того, я выполнил часть авторизации для учетной записи службы с областью действия DirectoryService.Scope.AdminDirectoryUser (делегирование по всему домену).

- Эта область неверна или мне нужна дополнительная область для управления группами и участниками?

Спасибо за любую помощь!

...