Advertisement
crutch12

yandex create accounts

Jan 22nd, 2024
2,532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Быстрое создание почт-учёток через админку yandex
  2. // Скрипт исполняется в браузере на странице админки организации
  3.  
  4. // Сюда пишем пользователей (!)
  5. // Больше ничего менять не надо
  6. const users = [
  7.   {
  8.     first_name: 'Данёк',
  9.     last_name: 'Якубович',
  10.     middle_name: 'Алексеевич', // (необязательно)
  11.     gender: 'male', // male | female
  12.     nickname: 'dtestov', // dtestov@web-bee.ru
  13.     position: 'Разработчик', // Аналитик | Разработчик | Тестировщик | DevOps
  14.     // пароль - берём отсюда https://www.random.org/passwords/?num=5&len=12&format=html&rnd=new
  15.     password: 'MR132kKk9123123az5gnm',
  16.   },
  17. ];
  18.  
  19. // ===================================================== //
  20.  
  21. const ORG_ID = 2884020;
  22.  
  23. const createUser = (payload) =>
  24.   fetch('https://admin.yandex.ru/api/models?_models=directory/create-user', {
  25.     headers: {
  26.       accept: 'application/json',
  27.       'accept-language': 'en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7',
  28.       'cache-control': 'no-cache',
  29.       'content-type': 'application/json',
  30.       pragma: 'no-cache',
  31.       'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
  32.       'sec-ch-ua-mobile': '?0',
  33.       'sec-ch-ua-platform': '"Windows"',
  34.       'sec-fetch-dest': 'empty',
  35.       'sec-fetch-mode': 'cors',
  36.       'sec-fetch-site': 'same-origin',
  37.       'x-requested-with': 'XMLHttpRequest',
  38.       'x-sarah-locale': 'ru',
  39.     },
  40.     referrerPolicy: 'strict-origin-when-cross-origin',
  41.     body: JSON.stringify(payload),
  42.     method: 'POST',
  43.     mode: 'cors',
  44.     credentials: 'include',
  45.   })
  46.     .then((r) => r.json())
  47.     .then((r) => console.log(r));
  48.  
  49. const createUsers = async (users) => {
  50.   for (const user of users) {
  51.     console.log('----------------------------');
  52.     console.log(
  53.       `Создаём пользователя ${user.first_name} ${user.last_name} - ${user.nickname}@web-bee.ru - ${user.password}`,
  54.     );
  55.     try {
  56.       const payload = {
  57.         models: [
  58.           {
  59.             name: 'directory/create-user',
  60.             params: {
  61.               user: {
  62.                 first_name: user.first_name,
  63.                 last_name: user.last_name,
  64.                 department_id: 1,
  65.                 gender: user.gender,
  66.                 nickname: user.nickname,
  67.                 language: 'ru',
  68.                 password_field_1: user.password,
  69.                 password_field_2: user.password,
  70.                 middle_name: user.middle_name,
  71.                 position: user.position,
  72.               },
  73.               org_id: ORG_ID,
  74.             },
  75.           },
  76.         ],
  77.       };
  78.       await createUser(payload);
  79.       console.log(
  80.         `${user.first_name} ${user.last_name} - ${user.nickname}@web-bee.ru вроде как успешно создался... Но лучше проверить!`,
  81.       );
  82.     } catch (err) {
  83.       console.error(`Не удалось создать ${user.first_name} ${user.last_name} - ${user.nickname}@web-bee.ru`);
  84.       console.error(err);
  85.     }
  86.   }
  87.  
  88.   console.log('----------------------------');
  89.   console.log('----------------------------');
  90.   console.log('----------------------------');
  91.   console.log('Все пользователи обработаны, проверьте, что все создались успешно!');
  92.   console.warn('В каждом ответе проверьте models[0] - если там data, значит всё ок. если error - значит ошибка');
  93.   console.log('----------------------------');
  94.   console.log('----------------------------');
  95.   console.log('----------------------------');
  96. };
  97.  
  98. await createUsers(users);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement