У меня есть скрипт Google Apps, который выдает ошибку "Делегирование отклонено для jasonjurotich@school.edu.mx" и не работает для добавления псевдонима (другого адреса электронной почты) к учетной записи в домене. Это может быть из-за заголовков токена или отсутствия какого-либо URL-адреса, который авторизует что-то, но я не могу найти достаточно документации, разъясняющей, как его добавить.
Это не следует путать с созданием псевдонима в консоли администратора Google для того же адреса электронной почты. Скорее, это добавление еще одной отдельной учетной записи к первой учетной записи, чтобы отправлять электронные письма от имени второй учетной записи.
Все необходимые разрешения активированы (OAuth2, учетная запись службы Google с делегированием на уровне домена, активированы необходимые API и т. д.)
У меня есть следующий сценарий:
var JSON = {
"private_key": "key",
"client_email": "email",
"client_id": "ID",
"user_email": "teststudent@school.edu.mx"
};
function getOAuthService(user) {
return OAuth2.createService('Service Account')
.setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth')
.setTokenUrl('https://accounts.google.com/o/oauth2/token')
.setClientId('ID')
.setPrivateKey(JSON.private_key)
.setIssuer(JSON.client_email)
.setSubject(JSON.user_email)
.setPropertyStore(PropertiesService.getScriptProperties())
.setParam('access_type', 'offline')
.setParam('approval_prompt', 'force')
.setScope('https://www.googleapis.com/auth/script.external_request https://www.googleapis.com/auth/gmail.settings.sharing');
}
function changeEmail() {
var service = getOAuthService();
service.reset();
if (service.hasAccess()) {
var userEmail = 'teststudent@school.edu.mx';
var alias = {
sendAsEmail: 'aliastest1@school.edu.mx',
displayName: 'TS',
replyToAddress : 'aliastest1@school.edu.mx',
treatAsAlias: true
};
Gmail.Users.Settings.SendAs.create(alias, userEmail);
}
}
Я полагаю, вы говорите о
delegation
. Можешь подтвердить? Документация по делегированию решает вашу проблему?Ошибок делегирования нет. На самом деле ошибок нет вообще, и именно это вызывает у меня недоумение.
В журналах он просто дает «неопределенное», когда я пытаюсь получить результат.
Обновил ответ ниже.