Как прочитать все электронные письма в почтовом ящике пользователя домена Gsuite, используя oAuth2 авторизацию учетных данных администратора домена GSuite в C# - PullRequest
0 голосов
/ 03 марта 2020

Как читать все электронные письма из папки входящих сообщений пользователя домена GSuite, используя oAuth2 авторизацию учетных данных администратора домена GSuite в C#.

У меня есть требование, где 1. Я должен выбрать всех пользователей домена, используя OAuth2. -> это сделано. 2. Перебирайте всех пользователей и получайте доступ к непрочитанной электронной почте этих пользователей -> Вот где я застрял.

Я предоставил доступ к API-интерфейсу каталогов и Gmail API. Ниже приведен код, который я использую для получения электронных писем. Здесь credential - это то же самое, что я использовал для доступа к DirectoryService.

Область действия определяется как:

static string[] Scopes = { DirectoryService.Scope.AdminDirectoryCustomerReadonly, GmailService.Scope.GmailModify };

Ниже приведен код для доступа к Gmail.

var gmailService = new GmailService(new BaseClientService.Initializer()
   {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
    });

   var msgRequest = gmailService.Users.Messages.List(userId);

   var msgs = msgRequest.Execute().Messages;

Я получаю эту ошибку в приведенной выше строке кода:

Google.Apis.Requests.RequestError
Insufficient Permission [403]
Errors [
    Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global]
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...