Как стать автором
Обновить

Импорт в Я.Коннект из файла списка пользователей через API

Время на прочтение3 мин
Количество просмотров4.3K
Столкнулся с проблемой «ненахода» актуального скрипта для массового создания сотрудников.

Проблема связана с переходом Яндекса с PDD (Почта для домена), на Я.Коннект с новой версией API.

Скрипты которые мне попадались, были написаны только для «старой» версии API, и потому считаются нерабочими неактуальными.

Потому, вот актуальный простенький скрип на сегодня, для массового создания «Сотрудников» в организации.

#!/bin/bash
# Путь к списку пользователей
employees='./usrlist'
#Пример строки файла usrlist: email_firstname_lastname_middlename

# OAuth_Token
# Ссылка на формирование отладочного токена
# https://tech.yandex.ru/oauth/doc/dg/tasks/get-oauth-token-docpage/
TOKEN="bash!bash!bash!bash!bash!bash!bash!bash!"

# Пароль по умолчанию для всех сотрудников
PASS="superstrongpasswordforyou"

# Перебираем файл со списком пользователей
for i in $( cat $employees ); do
value=($(echo $i | tr "_" " "))

# Формируем поля для заполнения профиля
email="${value[0]}"
firstname="${value[1]}"
lastname="${value[2]}"
middlename="${value[3]}"

# Создаем сотрудника
curl -i -X POST -H 'Content-type: application/json' -d '{"department_id": 1, "password": "'$PASS'", "nickname": "'$email'", "name": {"first": "'$firstname'", "last": "'$lastname'", "middle": "'$middlename'"}}' -H "Authorization: OAuth $TOKEN" 'https://api.directory.yandex.net/v6/users/' | grep HTTP
done

Если, у вас несколько отделов в организации, то в строке:

curl -i -X POST -H 'Content-type: application/json' -d '{"department_id": 1, "password": "'$PASS'", "nickname": "'$email'", "name": {"first": "'$firstname'", "last": "'$lastname'", "middle": "'$middlename'"}}' -H "Authorization: OAuth $TOKEN" 'https://api.directory.yandex.net/v6/users/'

Есть параметр: "department_id": 1, нас интересует число, «1», это отдел по умолчанию «Все сотрудники». При создании нового отдела (независимо от названия), он будет «2», соответственно и с последующими.

Теперь о том, как получить отладочный OAuth-Token

Для работы приложений скрипта, с сервисами Яндекса, который использует протокол авторизаций OAuth 2.0, существует отладочный токен, этим мы и воспользуемся. После использования, отладочный токен можно отозвать, а приложение удалить.

Идем нас страницу Яндекса OAuth для создания нового приложения (Кстати нужны права администратора!).

Права приложения я выбрал следующие:

Скриншот


Далее необходимо выбрать платформу и нажать «Подставить URL для разработки»:

Скриншот


После всех мучений можно вернуться в Яндекс OAuth, и увидеть наше приложение, заходим в него и нас интересует строка «ID», берем число-буквенное значение, копируем его в эту строку:

https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>

Затем, на открывшейся странице нажимаем кнопку Подтвердить, чтобы разрешить доступ.
вуаля, это и есть ваш OAuth_Token.

Напоследок: если вас интересуют дополнительные атрибуты пользователя такие как (дата рождения, его пол, аллиасы, телефоны), то смело читайте Документацию, там вполне доступная информация, для базового использования данного api.
:wq
Теги:
Хабы:
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань