Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] из ответа запроса сделал следующий запрос по API (http://forum.oszone.net/showthread.php?t=352378)

Njem 15-11-2022 18:41 2996542

из ответа запроса сделал следующий запрос по API
 
Всем привет!

Есть обычный GET запрос по API:

Код:

$GET_JSON_RESPONSE = Invoke-RestMethod -Method Get -Uri "$ENDPOINT/api/1.1/json/$NAMEPOINT1/" -Headers $HEADERS -ContentType "application/json"
$NAME_GROUP = $GET_JSON_RESPONSE | Format-List name, id

Возвращает он названия и id этих названий

Ситуация следующая, нужно сделать следующий запрос вот такого типа:

Код:

Invoke-RestMethod -Method Get -Uri "$HF_ENDPOINT/api/1.1/json/$NAMEPOINT2/23/" -Headers $HEADERS -ContentType "application/json"
Нужно чтобы из первого запроса, а точнее из результата, который он дал по первому запросу взял id и подставил его во второй запрос (в конце где пример номера 23)
Причём, чтобы проходился по результату каждого id и делал по всем запросы и вывел информацию: название и результат от второго запроса

Помогите, пожалуйста, сделать это... примерно, понимаю что через цикл.. игрался, игрался, но не смог понять как это сделать правильно(
как мне взять из ответа только id и вставить его в запросы :(

Foreigner 15-11-2022 19:36 2996547

Наверное, если возвращается один name и один id, так, иначе надо перебирать в цикле или брать по индексу:

Код:

$GET_JSON_RESPONSE = Invoke-RestMethod -Method Get -Uri "$ENDPOINT/api/1.1/json/$NAMEPOINT1/" -Headers $HEADERS -ContentType "application/json"
$NAME_GROUP = $GET_JSON_RESPONSE | Select-Object name, id

Invoke-RestMethod -Method Get -Uri "$HF_ENDPOINT/api/1.1/json/$NAMEPOINT2/$($NAME_GROUP.id)/" -Headers $HEADERS -ContentType "application/json"


Njem 15-11-2022 20:06 2996552

Цитата:

Цитата Foreigner
Наверное, если возвращается один name и один id, так, иначе надо перебирать в цикле или брать по индексу: »

Не, если бы возвращался один, то было бы всё проще, а так их приходит много (если быть точнее, то 72 строки с именем и айди его)
и вот нужно как-то по каждому пройтись и получить запрос по этому айди...

Foreigner 15-11-2022 20:54 2996554

Если правильно понял, $GET_JSON_RESPONSE возвращает несколько объектов, то наверное как-то так:

Код:

$GET_JSON_RESPONSE = Invoke-RestMethod -Method Get -Uri "$ENDPOINT/api/1.1/json/$NAMEPOINT1/" -Headers $HEADERS -ContentType "application/json"

$GET_JSON_RESPONSE | Foreach-Object {
  $name, $id = $_.name, $_.id
  Invoke-RestMethod -Method Get -Uri "$HF_ENDPOINT/api/1.1/json/$NAMEPOINT2/$id/" -Headers $HEADERS -ContentType "application/json"
}


Njem 16-11-2022 01:31 2996573

Цитата:

Цитата Foreigner
Если правильно понял, $GET_JSON_RESPONSE возвращает несколько объектов, то наверное как-то так: »

О ГОСПОДИ, это как раз то что нужно!!!
блин, спасибо большое!
неделю сидел ковырялся и думал, как же сделал цикл из этого вывода, блин.. а оказалось такая фигня.. увидел, понял, записал себе в голову!

пойду дальше всё это собирать в единую кучу и по аналогии делать остальное.. )


Время: 23:52.

Время: 23:52.
© OSzone.net 2001-