из googleapiclient.discovery import build из oauth2client.service_account import ServiceAccountCredentials
Электронная почта учетной записи службы
SERVICE_ACCOUNT_EMAIL ='XX@iam.gserviceaccount.com'
Путьв файл закрытого ключа служебной учетной записи
SERVICE_ACCOUNT_PKCS12_FILE_PATH = '.p12'
def create_directory_service (user_email): "" "Создает и возвращает объект службы каталогов администратора SDK, авторизованный для учетных записей служб, которые действуютот имени данного пользователя.
Args:
user_email: The email of the user. Needs permissions to access the Admin APIs.
Returns:
Admin SDK directory service object.
"""
credentials = ServiceAccountCredentials.from_p12_keyfile(
SERVICE_ACCOUNT_EMAIL,
SERVICE_ACCOUNT_PKCS12_FILE_PATH,
'notasecret',
scopes=['https://www.googleapis.com/auth/admin.directory.user'])
credentials = credentials.create_delegated(user_email)
return build('admin', 'directory_v1', credentials=credentials)