|
|
5 years ago | |
|---|---|---|
| yandex_connect | 5 years ago | |
| LICENSE | 8 years ago | |
| README.md | 7 years ago | |
| setup.py | 5 years ago | |
README.md
yandex_connect
Библиотека 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- Список организаций