Существует (очень расплывчатая) подсказка в документации Google к решению:
Примечание. Только пользователи, имеющие доступ к API-интерфейсам администратора, могут получить доступ к API-интерфейсу администратора SDK. поэтому для доступа к API-интерфейсу администратора SDK ваша учетная запись службы должна выдавать себя за одного из этих пользователей. Кроме того, пользователь должен хотя бы один раз войти в систему и принять Условия использования G Suite.
Чтобы добиться олицетворения в Python, отправьте «субъект» при аутентификации с помощью OAuth2. библиотека. Субъектом должен быть пользователь с доступом к API администратора (он не должен быть администратором, роли управления пользователями должно быть достаточно, по крайней мере, для моих нужд).
Рабочий фрагмент:
import json
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/admin.directory.user.readonly']
credentials = service_account.Credentials.from_service_account_file("/path/to/file.json", scopes=SCOPES, subject="admin@yourdomain.com")