Python googleapiclient перечисляет всех пользователей в моем Google Workspace – что такое «my_customer»? ⇐ Python
-
Anonymous
Python googleapiclient перечисляет всех пользователей в моем Google Workspace – что такое «my_customer»?
Я пытаюсь получить список всех пользователей в моем Google Workspace с помощью Python. Когда я захожу на https://admin.google.com и перехожу в Каталог -> Пользователи, я получаю список своих пользователей. У меня только одна организация.
Что я пытаюсь сделать: перечислить все аккаунты в моем Google Workspace
Проблема: когда я запускаю код, я получаю:
googleapiclient.errors.HttpError:
Мой код:
""" Сборщик данных пользователей Google Файл: src/google_user_fetcher.py Обновлено: 30.09.2022 Получает пользователей из Google """ из __future__ импортировать print_function импортировать JSON из google.oauth2 импортируйте service_account из сборки импорта googleapiclient.discovery класс GoogleUsersFetcher: # - В этом ----------------------------------------------- ---------------------------- защита __init__(сам): сервис = self.service_account_login() если сервис == "-1": print("GoogleUsersFetcher :: Не удалось войти в API") еще: # Вызов API print("GoogleUsersFetcher :: Добро пожаловать в API") self.list_users (сервис) # - Вход в сервисный аккаунт -------------------------------------------- ----------- защита service_account_login (сам): """ Читает service-key.json и входит в Google API. :return: service (Сервисный ключ типа googleapiclient.discovery.Resource) """ ОБЛАСТИ = ['https://www.googleapis.com/auth/admin.d ... r.readonly'] service_account_info: dict = json.load(open('_tmp/service-key.json')) учетные данные = service_account.Credentials.from_service_account_info( service_account_info, области = ОБЛАСТИ) сервис = сборка ('admin', 'directory_v1', учетные данные = учетные данные) print(f"GoogleUsersFetcher :: Служба ОК {service}") услуга возврата # - Список всех пользователей --------------------------------------------- -------------------- def list_users(сам, сервис): print("Получение первых 10 пользователей в домене") результаты = service.users().list(customer='my_customer', maxResults=10, orderBy='электронная почта').execute() пользователи = результаты.get('пользователи', []) если не пользователи: print('В домене нет пользователей.') еще: print('Пользователи:') для пользователя в пользователях: print(u'{0} ({1})'.format(user['primaryEmail'], Имя пользователя, полное имя'])) если __name__ == '__main__': GoogleUsersFetcher() Я думаю, это может быть как-то связано с методом service.users().list. Он запрашивает «my_customer», однако у меня нет клиентов. В моей организации работают только сотрудники.
results = service.users().list(customer='my_customer', maxResults=10, orderBy='электронная почта').execute()
Я пытаюсь получить список всех пользователей в моем Google Workspace с помощью Python. Когда я захожу на https://admin.google.com и перехожу в Каталог -> Пользователи, я получаю список своих пользователей. У меня только одна организация.
Что я пытаюсь сделать: перечислить все аккаунты в моем Google Workspace
Проблема: когда я запускаю код, я получаю:
googleapiclient.errors.HttpError:
Мой код:
""" Сборщик данных пользователей Google Файл: src/google_user_fetcher.py Обновлено: 30.09.2022 Получает пользователей из Google """ из __future__ импортировать print_function импортировать JSON из google.oauth2 импортируйте service_account из сборки импорта googleapiclient.discovery класс GoogleUsersFetcher: # - В этом ----------------------------------------------- ---------------------------- защита __init__(сам): сервис = self.service_account_login() если сервис == "-1": print("GoogleUsersFetcher :: Не удалось войти в API") еще: # Вызов API print("GoogleUsersFetcher :: Добро пожаловать в API") self.list_users (сервис) # - Вход в сервисный аккаунт -------------------------------------------- ----------- защита service_account_login (сам): """ Читает service-key.json и входит в Google API. :return: service (Сервисный ключ типа googleapiclient.discovery.Resource) """ ОБЛАСТИ = ['https://www.googleapis.com/auth/admin.d ... r.readonly'] service_account_info: dict = json.load(open('_tmp/service-key.json')) учетные данные = service_account.Credentials.from_service_account_info( service_account_info, области = ОБЛАСТИ) сервис = сборка ('admin', 'directory_v1', учетные данные = учетные данные) print(f"GoogleUsersFetcher :: Служба ОК {service}") услуга возврата # - Список всех пользователей --------------------------------------------- -------------------- def list_users(сам, сервис): print("Получение первых 10 пользователей в домене") результаты = service.users().list(customer='my_customer', maxResults=10, orderBy='электронная почта').execute() пользователи = результаты.get('пользователи', []) если не пользователи: print('В домене нет пользователей.') еще: print('Пользователи:') для пользователя в пользователях: print(u'{0} ({1})'.format(user['primaryEmail'], Имя пользователя, полное имя'])) если __name__ == '__main__': GoogleUsersFetcher() Я думаю, это может быть как-то связано с методом service.users().list. Он запрашивает «my_customer», однако у меня нет клиентов. В моей организации работают только сотрудники.
results = service.users().list(customer='my_customer', maxResults=10, orderBy='электронная почта').execute()
Мобильная версия