Alexeev Nickolay
013d5b35b2
|
3 years ago | |
---|---|---|
yandex_connect | 3 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
setup.py | 3 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
- Список организаций