我目前在通过API发送燃料交易的脚本上遇到问题.它不需要变量就能工作:
$headers=@{}
$headers.Add("accept", "application/json")
$headers.Add("content-type", "application/json")
$headers.Add("authorization", "$APIToken")
$response = Invoke-WebRequest -Uri 'https://api.samsara.com/fuel-purchase' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"fuelQuantityLiters":"676.8","iftaFuelType":"Diesel","transactionLocation":"350 Rhode Island St, San Francisco, CA 94103","transactionPrice":{"amount":"640.2","currency":"usd"},"transactionReference":"5454534","transactionTime":"2024-02-22T10:20:50.52-06:00","vehicleId":"570"}'
但是,对于变量,我会得到错误.
# A POSITIONAL PARAMETER CANNOT BE FOUND THAT ACCEPTS ARGUMENT ("" Around Body)
$response = Invoke-WebRequest -Uri 'https://api.samsara.com/fuel-purchase' -Method POST -Headers $headers -ContentType 'application/json' -Body "{"fuelQuantityLiters":$QuantityLiters,"iftaFuelType":$FuelType,"transactionLocation":$StationAddress,"transactionPrice":{"amount":$TransactionSale,"currency":$Currency},"transactionReference":$TransactionID,"transactionTime":$TransactionDateTime,"vehicleId":$Vehicle}"
# INVALID CHARACTER '$' LOOKING FOR BEGINNING OF VALUE ('' Around Body)
$response = Invoke-WebRequest -Uri 'https://api.samsara.com/fuel-purchase' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"fuelQuantityLiters":$QuantityLiters,"iftaFuelType":$FuelType,"transactionLocation":$StationAddress,"transactionPrice":{"amount":$TransactionSale,"currency":$Currency},"transactionReference":$TransactionID,"transactionTime":$TransactionDateTime,"vehicleId":$Vehicle}'
我认为这与报价有关,但我不确定需要在哪里修正.以下是包含有关我正在执行的操作的API详细信息的页面: https://developers.samsara.com/reference/postfuelpurchase个