我尝试了许多方法,通过Invoke-RestMethod和Invoke-WebRequest使用PowerShell将CSV文件上传到ServiceNow;但是,我遇到了困难。当我调用这些函数时,我收到以下错误:
"Invoke-RestMethod :远程服务器返回错误:不允许使用(405)方法。“
"Invoke-WebRequest :远程服务器返回错误:不允许使用(405)方法。“
我已经尝试了下面的代码:
尝试1)
$Headers = @{'Auth_token'=$envCred};
$FileContent = [IO.File]::ReadAllText('C:\temp\test.csv');
$Fields = @{'uploadFile'=$FileContent};
Invoke-WebRequest -Uri $Uri -ContentType 'multipart/form-data' -Method Post -Headers $Headers -Body $Fields;尝试2)
Invoke-RestMethod -Method Post -Uri $uri -Credential $envCred -ContentType 'multipart/form-data -InFile "C:\temp\test.csv" ' 我确信该应用程序接口工作正常,因为在我调用:Invoke-RestMethod -Method 'get' -Uri $uri -Credential $snCred -body $body之后,它会返回正确的信息。
我还尝试了以下-Method补丁:"Invoke-RestMethod -Uri $uri -Credential $snCred -Method Patch -ContentType 'text/csv' -InFile "C:\temp\test.csv" -也尝试了-ContentType 'multipart/form-data‘-我得到了以下错误:“调用-恢复方法:远程服务器返回一个错误:(415)不支持的媒体类型。”
是否有其他方法或使用Invoke-RestMethod或Invoke-WebRequest在PowerShell中上传CSV文件?
解决方案:我意识到我的URI有一个拼写错误,在修复它之后,它工作了!很抱歉给您带来不便。
https://stackoverflow.com/questions/51315896
复制相似问题