Распарсить JSON объект, создать скрипт на Python или PowerShell
Есть сайт, у которого существует API для выгрузки пользователей в виде JSON объекта.API вызывается ссылкой типа: https://xzy.mmm.com/api/v2/admin/users?include=organizations&page%5Bnumber%5D=5&page%5Bsize%5D=100"
Это одна из 5 страниц объектов, получаемых по подобной ссылке. Образец объекта прикреплен к этой задаче.
Задача - подргузить все 5 страниц объектов (ссылки могу вставить вручную), распарсить объекты по описанию ниже, изменить / добавить значения, сохранить как CSV.
В JSON объекте есть несколько ключей, важные из которых только в поле “data”.Есть еще поля “included”, “links”, “meta”, их можно игнорировать.
В поле data нужно извлечь значения ключей users:
username, email, is-admin, is-service-account, two-factor.enabled, two-factor.verified, relationships.organizations.data.id
После обработки тех пользователей, у которых is-service-account : true - можно сразу отбросить из дальнейших операций.
Далее необходимо сформировать csv, который будет выглядеть так:
Username,email,is-admin,two-factor.enabled,two-factor.verified,relationships.organizations.data.id
Важный нюанс: есть пользователи, состоящие в нескольких организациях. Есть те, кто не состоит ни в какой. В случае, если пользователь состоит в нескольких организациях - нужно дублировать строки информации от пользователя по количеству организаций. Они все прописаны в том же ключе relationships.organizations.data с разными id. В готовом CSV такой пользователь должен выглядеть примерно так:
Victor, [email protected], true, true, true, IFS
Victor, [email protected], true, true, true, NIS
Victor, [email protected], true, true, true, mppTech
…
Количество организаций у пользователя может быть произвольным.Если у пользователя в включе relationships.organizations.data.id не прописано ничего - оставляем пустое значение в этой колонке.
Далее, значение ключа is-admin переименовываем из true в SiteAdmin.
Если у пользователя есть хоть одна организация - ключ переименовываем в “имя-организации” + Organization owner
Используем предыдущий пример для продолжения:
Victor, [email protected], SiteAdmin, true, true, IFS Organization owner
Victor, [email protected], SiteAdmin, true, true, NIS Organization owner
Victor, [email protected], SiteAdmin, true, true, mppTech Organization owner
На выходе должен быть CSV файл со списком пользователей по примеру выше.
Пожалуйста, создайте скрипт для выполнения этой задачи на Python или PowerShell, и передайте его мне