从一个REST调用中为另一个REST调用选择值

时间:2015-07-31 17:33:23

标签: rest variables powershell

我正在尝试使用PowerShell构建我的脚本以运行一些非常的GET调用。我能够做到但是我遇到了一个变量问题。让我解释。

以下是我的GET电话。你可以看到reportid12345是一个动态变量。

Invoke-RestMethod -Uri https://website.com/reportid12345/?reportdownload"&"auth_token=2a31df31ads3fw -OutFile C:\testdailyoutput.csv

现在要获取动态报告ID列表,我必须在下面调用:

$dailyreportid = Invoke-RestMethod -Uri https://website.com/allreports?fields=id"&"auth_token=32sd1f85w2d32

,输出如下:

data
----
{@{id=1000}, @{id=1115}}

如果我输入$dailyreportid.data,则输出为:

  id
  --
1000
1115

所以我的问题是:如何使用变量使我的报告下载调用使用第二次调用中的变量?但要选择最大数量的报告ID或最低数量的报告ID。

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

$dailyreportid = Invoke-RestMethod -Uri "https://website.com/allreports?fields=id&auth_token=32sd1f85w2d32"

$id = $dailyreportid.data.id | sort | select -last 1

Invoke-RestMethod -Uri "https://website.com/reportid$id/?reportdownload&auth_token=2a31df31ads3fw" -OutFile C:\testdailyoutput.csv