UiPath Orchestrator上的POST方法可通过API测试应用程序使用,而不能通过Powershell

时间:2019-07-29 19:18:49

标签: powershell http post uipath

我正在开发Powershell脚本,以使用Invoke-WebRequest / Invoke-RESTMethod通过其API在UiPath Orchestrator中执行功能。该请求在API测试应用程序中有效,但在Powershell中无效。

我能够通过Invoke-RestMethod成功生成身份验证承载密钥,但是API的其他功能不起作用。

$auth = @{
   tenancyName = ''
   usernameOrEmailAddress = '****'
   password = '****
}

$authjson = $auth | ConvertTo-Json
$authkey = Invoke-RestMethod 'https://****************.com/api/Account/Authenticate' -Method Post -Body $authjson -ContentType 'application/json'
$authjson = $authkey | ConvertTo-Json

return $authjson

此脚本有效并返回验证其他请求所需的承载密钥。

$job = @{
    startInfo = {
        ReleaseKey = "efb58582-fcd1-4453-ab0b-d39e1be57392"
        Strategy = "All"
        RobotIds = []
        NoOfRobots = "0"
        JobsCount = "0"
        Source = "Manual"
        InputArguments = "" }
}

$jobjson = $job | ConvertTo-Json

$headers = @{}
$headers.Add("authorization", "Bearer *bearer key here*")

$response = Invoke-WebRequest -Uri 'https://**************.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs' -Method Post -Headers $headers -Body $jobjson  -ContentType application/json
return $response | ConvertTo-Json

此脚本应使用上一个身份验证脚本中的承载密钥在UiPath Orchestrator上启动作业,但它会返回以下错误消息:

  

Invoke-WebRequest:{“ message”:“不支持   非开放类型。“,” errorCode“:0,” resourceIds“:null}在   C:\ Users \ adavenport \ Documents \ UiPath \ warehousejournaltest \ apiAuthTest3.ps1:17   字符:13   + $ response =调用WebRequest -Uri'************** ...   + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~       + CategoryInfo:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke-WebRe quest],   WebException       + FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebReque   stCommand

据我所知,这个错误似乎表明请求的json主体中的字段不正确,但是我正在直接从其正常工作的API测试应用程序中复制并粘贴该请求,因此字段应该正确。

1 个答案:

答案 0 :(得分:0)

UiPath Orchestrator现在带有Swagger。因此,请登录您的Orchestrator,您可以确保API调用正确无误(将/swagger/ui/index#/添加到URL)。 在此处阅读更多信息:https://docs.uipath.com/orchestrator/v2019-fastTrack/reference