【发布时间】:2020-08-10 12:46:14
【问题描述】:
下午好,
如果我通过命令行发送这个 curl 请求,它可以正常工作。但是当我使用我的 powershell 脚本时,我没有得到相同的结果。
CURL 脚本:
CURL --request GET "https://staging.tiptrack.nl/Tiptrack.Employer.Api/odata/EmployeeBudgets?$expand=Employee($expand=SecureEmployee)&$top=5" -H "accept: application/json" -H "Authorization: Bearer token"
Powershell 脚本:
#------- Opvragen token tiptrack -------
#Dit is de URL waar de token voor tiptrack wordt opgevraagd.
$Url_token="https://tiptracknext-staging-login.indicia.nl/oauth2/aus342go9hNphcHXM0i7/v1/token"
#Dit is de body die mee wordt gestuurd in de request, deze informatie staat gelijk aan de data in de post request vanuit de handleiding.
$Data_token = @{
grant_type="client_credentials"
client_id="123456"
client_secret="123456"
scope="api"
}
$token_tiptrack=Invoke-RestMethod -Method Post -Uri $Url_token -ContentType "application/x-www-form-urlencoded" -Body $Data_token
#------- Opvragen Employerbudgetsid -------
#Dti is de URL waarna de GET request wordt gestuurd om het employerid te kunnen.
$Url_budgetid="https://staging.tiptrack.nl/Tiptrack.Employer.Api/odata/EmployeeBudgets?$expand=Employee($expand=SecureEmployee)&$top=5"
#Dit is header die mee wordt gestuurd in de request. Deze data in deze header staat gelijk aan de data in de API handleiding.
$header_process = @{
Authorization='Bearer '+$token_tiptrack.access_token
"accept"="application/json"
}
#Vanuit het uploaden van het bestand krijgen we een reactie van de server, in deze reactie staat het upload id, deze id hebben we nodig om het bestand te kunnen verwerken.
Invoke-RestMethod -Uri $Url_budgetid -Method Get -Headers $header_process | Select-Object -ExpandProperty value
我希望有人可以帮助我解决这个问题。通过 CURL 动作,我得到前 5 行,通过 powershell 我得到所有可用的行。
【问题讨论】:
-
在
$Url_budgetid值周围使用单引号而不是双引号。$字符在可扩展字符串内(在双引号内)被 PowerShell 解释为变量。 -
Thnx,这就是解决方案 :)
-
或者您可以使用反引号 (`$) 转义 $ 符号
标签: powershell api curl get odata