Я пытаюсь реализовать скрипт, который создает пользователей Google Apps после получения веб-крючка из внешнего приложения.Однако у меня возникают проблемы с реализацией учетной записи службы.Когда я получаю веб-крючок, я получаю сообщение об ошибке:
googleapiclient.errors.HttpError: <HttpError 403 when requesting
https://www.googleapis.com/admin/directory/v1/groups/role1%40domain.com/members?alt=json
returned "Not Authorized to access this resource/api">
Моя реализация:
from google.oauth2 import service_account
import googleapiclient.discovery
...
def add_to_googlegroup(content):
username = get_username(content)
firstname = get_firstname(content)
secondname = get_secondname(content)
emailaddress = firstname + "." + secondname + "@domain.com"
GROUPSCOPES = ['https://www.googleapis.com/auth/admin.directory.group']
serviceAccountFile = '/home/user/serviceaccoutcreds.json'
credentials = service_account.Credentials.from_service_account_file(serviceAccountFile, scopes=GROUPSCOPES)
userdetails = {'email': emailaddress}
if get_roletype(content) == 'staff':
print (GROUPSCOPES)
groupservice.members().insert(groupKey='role1@domain.com', body=userdetails).execute()
else:
print (GROUPSCOPES)
groupservice.members().insert(groupKey='role2@domain.com', body=userdetails).execute()
Что я сделал, используя документацию Google
- Создан сервисный аккаунт в консоли разработчиков Google и включено делегирование по всему домену.Загруженный клиент JSON служебной учетной записи с консоли
- Включение API Admin SDK с консоли
- На панели администратора Google -> Безопасность -> Дополнительно -> управлять доступом клиента API.Я добавил API и идентификатор клиента: https://www.googleapis.com/auth/admin.directory.group/
Кто-нибудь сталкивался с чем-то подобным?Я также безуспешно проверил делегированный код учетных данных
Я также попытался настроить код быстрого запуска для проверки и использования учетных данных учетной записи службы, но получил проблему «404: домен не найден».Должно быть, я что-то здесь упустил