Столкнулся с проблемой «ненахода» актуального скрипта для массового создания сотрудников.
Проблема связана с переходом Яндекса с 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
Автор: Energys