#reactjs #google-api
Вопрос:
Я пытаюсь использовать библиотеку аутентификации Google npm для создания учетной записи пользователя, а затем включить IMAP. Из того, что я прочитал, у меня есть организационная рабочая область Google, я создал учетную запись службы и включил делегирование домена для соответствующих областей. Затем мне удалось успешно создать учетную запись пользователя, но включение IMAP приводит к следующей ошибке
{
"error": {
"code": 403,
"message": "Delegation denied for myadmin@myorganization.com",
"errors": [
{
"message": "Delegation denied for myadmin@myorganization.com",
"domain": "global",
"reason": "forbidden"
}
],
"status": "PERMISSION_DENIED"
}
}
Вот фрагмент кода, который я использую.
enableImapForUser(useremail: string) {
const auth = new GoogleAuth({
credentials: JSON.parse(process.env.GOOGLE_CREDENTIALS),
scopes: ["https://www.googleapis.com/auth/gmail.settings.basic"],
clientOptions: {
subject: "myadmin@myorganization.com",
},
});
const requestOptions: GaxiosOptions = {
url:
"https://gmail.googleapis.com/gmail/v1/users/"
useremail
"/settings/imap",
method: "PUT",
headers: { "Content-type": "application/json" },
body: JSON.stringify({ enabled: true }),
};
return auth.request(requestOptions);
}
Переменная useremail содержит адрес электронной почты вновь созданного пользователя. Из других ответов здесь, многие из них предложили использовать «меня» вместо передачи адреса электронной почты, но для этого нужно включить IMAP для моей учетной записи, т. Е. myadmin@myorganization.com. Означает ли это, что мне нужно выполнить аутентификацию для вновь созданной учетной записи, а затем попытаться включить IMAP? Похоже, что при делегировании всего домена это должно быть возможно, если я использую свою электронную почту администратора. Я перепроверил разрешения, и все они выглядят хорошо, я что-то упускаю?