Giter VIP home page Giter VIP logo

yandex-connect's Introduction

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('[email protected]')

>> {u'nickname': u'test', u'id': 1000000000000000}

Так же, это справедливо для методов относительно групп. То есть, вместо:

api.group_member_add(1, 1000000000000000)

Можно написать:

api.group_member_add("[email protected]", "[email protected]")

Везде где используются параметры 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 - Список организаций

yandex-connect's People

Contributors

alexeevnick avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.