Мы используем для создания делегатов электронной почты через API настроек электронной почты Google, но после устаревания OAuth 1.0 мы больше не смогли аутентифицироваться должным образом. После некоторых исследований я думаю, что мы должны создать учетную запись службы, делегировать доступ к домену для этой учетной записи службы, а затем аутентифицировать ее. Однако я не могу заставить его работать, все, что я получаю от Google, несанкционировано 401. Кто-нибудь знает, что я делаю неправильно? Вот большая часть кода, я использую .Net/C#, и я использую Google Apps для бизнеса.Как создать делегацию Gmail с учетной записью службы?
ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer("serviceAccountEmail")
{
Scopes = new[] { "https://apps-apis.google.com/a/feeds/emailsettings/2.0/ " },
User = "admin email string"
}.FromCertificate({X509 certificate from service account p12 file}));
credential.RequestAccessTokenAsync(System.Threading.CancellationToken.None).Wait(-1);
GoogleMailSettingsService service = new GoogleMailSettingsService("domain name", "appname");
service.SetAuthenticationToken(credential.Token.AccessToken);
service.CreateDelegate("delegator", "delegate");
ли вы когда-нибудь получить эту работу? Мы находимся в одной лодке (GAFE), и сценарий нашей делегации сломался, когда они осудили OAuth 1 в прошлом году. –
Да, извините, я забыл, что я разместил это здесь. Я добавил ответ ниже. Дайте мне знать, если вам нужна дополнительная помощь, это решение заняло у меня много времени, когда я работал над этим. – andydnd