Я хочу обновить подпись пользователя домена через Gmail. Net Клиентская библиотека от имени администратора G Suite.
Я следовал этому примеру для настройки и дать разрешения в консоли разработчика Google.
Вот краткое описание того, что я сделал:
- Включен API Gmail в консоли API Google
- Создана учетная запись службы для моего проекта
- Делегированные полномочия по всему домену учетной записи службы
- Добавлено https://www.googleapis.com/auth/gmail.settings.sharing, https://www.googleapis.com/auth/gmail.settings.basic области действия
Я могу обновить свою собственную подпись электронной почты, но когда я пытаюсь обновить подпись любого другого пользователя в моем домене, я получаю следующую ошибку:
Google.Apis.Requests.RequestError
Not Found [404]
Errors [
Message[Not Found] Location[ - ] Reason[notFound] Domain[global]
]
Вот мой код:
GoogleCredential credential;
using (var stream = new FileStream("signature-gmailapi.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream).CreateScoped(new[]
{GmailService.Scope.GmailSettingsBasic, GmailService.Scope.GmailSettingsSharing})
.CreateWithUser("admin@domain.com");
}
var service = new GmailService(new BaseClientService.Initializer()
{
ApplicationName = "Project",
HttpClientInitializer = credential
}
);
service.Users.Settings.SendAs.Patch(new SendAs { Signature = "Test signature..."}, "me",
"user@domain.com").Execute();
Кто-нибудь может подсказать, что я делаю не так?