Как читать все электронные письма из папки входящих сообщений пользователя домена 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]
]