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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Столкнулся с проблемой «ненахода» актуального скрипта для массового создания сотрудников.

Проблема связана с переходом Яндекса с 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
Источник: https://habr.com/ru/post/448036/


Интересные статьи

Интересные статьи

Предыстория Когда-то у меня возникла необходимость проверять наличие неотправленных сообщений в «1С-Битрикс: Управление сайтом» (далее Битрикс) и получать уведомления об этом. Пробле...
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье проникаем в систему через SQL инъекцию, копаемся в истории командной строки и повышаем ...
Но если для интернет-магазина, разработанного 3–4 года назад «современные» ошибки вполне простительны потому что перед разработчиками «в те далекие времена» не стояло таких задач, то в магазинах, сдел...
Привет, Хабр! Меня зовут Николай, и я занимаюсь построением и внедрением моделей машинного обучения в Сбербанке. Сегодня расскажу о разработке рекомендательной системы для платежей и переводов в ...
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...