2016-02-08 8 views
0

Первый API для вызова:Как отобразить вывод JSON?

https://proto123.hipchat.com/v2/user?auth_token=2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Я получаю логины, когда я запускаю этот URI.

Тогда мне нужно выполнить следующий URI для каждого идентификатора пользователя генерируется из предыдущего URI:

https://proto123.hipchat.com/v2/user/id?auth_token=2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Затем распечатать выходной файл в формате CSV.

Как это сделать?

Пожалуйста, проверьте этот скрипт:

$uri = "https://proto123.hipchat.com/v2/user?auth_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
try { 
    $webResponse = Invoke-RestMethod -uri $uri -ContentType "application/json" 
} catch { 
    $webResponse = $_.Exception.Response 
} 

if ($webResponse) { 
    Write-Debug "Output result" 

    $webResponseIDList = @() # Defining array for collecting the ID's 
    foreach ($webResponseID in $webResponse) { 
    $webResponseIDList += [PSCustomObject] @{ 
     id = $webResponseID.id 
    } # End of ID's Array 
    $id = $webResponseID.id 

    Write-Host "User ID is : $id" + $webResponseIDList `r`n 
    $uri = "https://proto123.hipchat.com/v2/user/$id?auth_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
    $webResponseID = Invoke-RestMethod -uri $uri -ContentType "application/json" 

    Write-Host "User ID are :" + $webResponseID.id `r`n 
    Write-Output "User ID are :" + $webResponseID.id `r`n 
    } 
} else { 
    Write-Debug "No results were returned" 
} 

Я не получаю выход в PowerShell.

+1

Поскольку вы уже так предвидя, чтобы добавить 'Write-Debug' заявления, почему вы не используете их, чтобы увидеть, где проблема ? –

+0

Как выглядит '$ webResponse'? – Matt

+0

@ MathiasR.Jessen Я пробовал использовать операторы отладки, но я не мог найти проблему. Правильно ли это сценарий или я что-то пропустил? –

ответ

1

Изменить

foreach ($webResponseID in $webResponse) { 
    ... 
} 

в

foreach ($webResponseID in $webResponse.items) { 
    ... 
} 
+0

Спасибо .. Это помогло .. Можете ли вы проверить отредактированный сценарий? Мне нужно имя участника, id, в строках diff не в том же самом. Спасибо. –