Библиотека python для использования API Yandex connect / Яндекс коннект. В настоящий момент реализованы все функции Directory, версии 6.
https://tech.yandex.ru/connect/directory/api/about-docpage/
git clone https://github.com/zt50tz/yandex-connect
cd yandex-connect
python setup.py installЛибо:
pip install yandex-connectНеобходимо зарегистрировать приложение на странице https://oauth.yandex.ru/
from yandex_connect import token_get_by_code
token_get_by_code()from yandex_connect import YandexConnectDirectory
api = YandexConnectDirectory('<OAuth TOKEN>', org_id=None) # создание
api.user_add('test', 'test234test') # добавление сотрудника
api.user_list_full() # просмотр всех сотрудниковСервис использует идентификационные номера для всех объектов, а не значимые алиасы, что может быть усложняющим фактором при быстрой разработке, либо при исполнении функций из командной строки. То есть, для того, чтобы получить информацию о пользователе, необходимо выполнить следующий код:
api.user_info(1000000000000000)
>> {u'nickname': u'test', u'id': 1000000000000000}Он не особо удобный для чтения и написания. В связи с этим добавлена возможность выполнить и такой код:
api.user_info('test@test.ru')
>> {u'nickname': u'test', u'id': 1000000000000000}Так же, это справедливо для методов относительно групп. То есть, вместо:
api.group_member_add(1, 1000000000000000)Можно написать:
api.group_member_add("group_users@test.ru", "test@test.ru")Везде где используются параметры user_id и group_id можно
использовать как ID, так и почту.
Что то может пойти не так. Чтобы увидеть какие данные уходят и возвращаются, можно использовать следующий код:
import logging
logger = logging.getLogger('YandexConnectRequest')
logger.setLevel(logging.DEBUG)user_info— Получение информации о сотрудникеuser_list- Получение списка сотрудниковuser_list_full- Получение полного списка сотрудников, без страницuser_add- Добавление сотрудникаuser_upd- Изменение сотрудникаuser_alias_add- Добавление алиаса для сотрудника
department_list- Получение списка отделовdepartment_list_full- Получение полного списка отделовdepartment_info- Получение информации об отделеdepartment_add- Добавление отделаdepartment_upd- Изменение отделаdepartment_del- Удаление отдела
group_list- Список командgroup_list_full- Полный список командgroup_info- Получение информации о командеgroup_add- Добавление командыgroup_upd- Изменение командыgroup_member_list- Участники командыgroup_member_add- Добавить участника команды. В качестве параметраuser_idможно использовать массив ID/почт.group_member_del- Удалить участника командыgroup_member_update- Изменение участников команды
domain_list- Получение списка доменовdomain_add- Добавить доменdomain_del- Удалить домен
organization_list- Список организаций