Итерация по API с помощью PowerShell - PullRequest
0 голосов
/ 01 марта 2019

Я использую следующий API и мне нужно выбрать несколько элементов из списка (OrgName, MaxSeats и userCount) из данных для каждой организации.Предыдущие попытки были близки, но я никогда не смог бы даже как один объект потянуть userCount.

(Invoke-WebRequest -Credential $api_user 'https://console.us.code42.com/api/org?active=true&inccount=True&incsettings=True' -Method Get -UseBasicParsing |
    Select-Object Content |
    ConvertTo-Json).PSObject.Properties | ForEach-Object {
        Write-Host "$($_.name): $($_.value)"
    }

API, который я вызываю, это тот же URL, что и выше;Полное описание можно найти здесь: https://console.us.code42.com/apidocviewer

Добавление вывода из Invoke-RestMethod.

Я начал с Invoke-RestMethod и получил там самое близкое;но читайте в другом месте, что Invoke-WebRequest предпочтительнее.Вывод только стандартного вызова здесь, OrgName и MaxSeats есть - но я знаю, что userCount также является чем-то доступным через API, если я выполняю итерацию для каждого ORG.

orgId                   : 2633
orgUid                  : xxxxxx
orgName                 : B Team
orgExtRef               : 
notes                   : 
status                  : Active
active                  : True
blocked                 : False
parentOrgId             : 1167
parentOrgUid            : xxxxxx
type                    : ENTERPRISE
classification          : BASIC
externalId              : xxxxxx
hierarchyCounts         : 
configInheritanceCounts : 
creationDate            : 2/10/19 11:45:48 PM
modificationDate        : 2/10/19 11:45:48 PM
deactivationDate        : 
registrationKey         : xxxxxxxx
reporting               : @{orgManagers=System.Object[]}
customConfig            : False
settings                : @{maxSeats=; maxBytes=}
settingsInherited       : @{maxSeats=; maxBytes=}
settingsSummary         : @{maxSeats=; maxBytes=}

Если вы посмотритена самом API, он перечисляет много других элементов, которые здесь не видны.Наверное, это большой вопрос.

Необработанный вывод JSON из моего вызова API - который отличается от страницы документации.

{
  "metadata": {
    "timestamp": "2019-03-01T12:50:36.296Z",
    "params": {
      "incsettings": "True",
      "active": "true",
      "inccount": "True"
    }
  },
  "data": {
    "totalCount": 4,
    "orgs": [
      "@{orgId=1172; orgUid=xxxx; orgName=A Team; orgExtRef=; notes=; status=Active; active=True; blocked=False; parentOrgId=1167; parentOrgUid=xxxx; type=ENTERPRISE; classification=BASIC; externalId=xxxx; hierarchyCounts=; configInheritanceCounts=; creationDate=04/22/2018 17:49:30; modificationDate=02/10/2019 23:44:27; deactivationDate=; registrationKey=xxxx; reporting=; customConfig=False; settings=; settingsInherited=; settingsSummary=}",
      "@{orgId=1173; orgUid=xxxx; orgName=Jurassic Park; orgExtRef=; notes=; status=Active; active=True; blocked=False; parentOrgId=1167; parentOrgUid=xxxx; type=ENTERPRISE; classification=BASIC; externalId=xxxx; hierarchyCounts=; configInheritanceCounts=; creationDate=04/22/2018 17:51:41; modificationDate=02/10/2019 23:26:07; deactivationDate=; registrationKey=xxxx; reporting=; customConfig=False; settings=; settingsInherited=; settingsSummary=}",
      "@{orgId=2633; orgUid=xxxx; orgName=B Team; orgExtRef=; notes=; status=Active; active=True; blocked=False; parentOrgId=1167; parentOrgUid=xxxx; type=ENTERPRISE; classification=BASIC; externalId=xxxx; hierarchyCounts=; configInheritanceCounts=; creationDate=02/10/2019 23:45:48; modificationDate=02/10/2019 23:45:48; deactivationDate=; registrationKey=xxxx; reporting=; customConfig=False; settings=; settingsInherited=; settingsSummary=}",
      "@{orgId=1167; orgUid=xxxx; orgName=Eric Hall SAAS SE Test - Backup; orgExtRef=; notes=; status=Active; active=True; blocked=False; parentOrgId=1121; parentOrgUid=xxxx; type=ENTERPRISE; classification=BASIC; externalId=xxxx; hierarchyCounts=; configInheritanceCounts=; creationDate=04/20/2018 21:10:03; modificationDate=02/10/2019 23:36:20; deactivationDate=; registrationKey=xxxx; reporting=; customConfig=False; settings=; settingsInherited=; settingsSummary=}"
    ]
  }
}

Поле MAXSEATS появляется в блоках настроек (хотя здесь и не видно) * * тысяча двадцать-один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...