将 Powershell REST API 结果导出为 CSV

Exporting Powershell REST API results as CSV

我目前使用以下 Powershell 脚本作为 API 调用,使用 REST 从供应商检索 table 数据,该数据似乎在 JSON格式:

$uri = "https://www.SomeWebsite.com/api/orders"
$headers = @{
    'Content-Type' = 'application/json'
    'Authorization' = 'Bearer <MyTokenID>'
    'Accept'= 'application/json'
}
  
Invoke-RestMethod -Uri $uri -Method GET -Headers $headers -Body $body

脚本有效,并在 Powershell 中输出:

data                                                                                                                                                                    
----                                                                                                                                                                    
{@{type=appointments; id=1234; attributes=; links=; relationships=}, @{type=appointments;     id=1235; attributes=; links=; relationships=}, @{type=appointments; i...

我需要能够将其导出为 CSV 文件。 我如何合并一个 export-CSV CMDLET(如下所示)以使其与上述语法一起使用? (最好是全部Columns/Headers)

Select ID, Status | Export-Csv -Path "filename.csv" -NoTypeInformation

您的 Invoke-RestMethod 输出一个带有 data 属性 的对象。 data 属性 包含您要引用的对象。所以你必须先扩展 属性。

Invoke-RestMethod -Uri $uri -Method GET -Headers $headers -Body $body |
    Select-Object -ExpandProperty data |
        Select-Object id,status |
            Export-Csv filename.csv -NoTypeInformation