我正在尝试通过 Google Appscript 在协调器中启动 UIPath-Job。
我设置了无人看管的机器人,如果我在编排器中手动启动工作或通过我的助手启动工作,它工作正常。但是当我尝试用脚本启动它时,它失败了。实际上,我正在尝试执行以下文档第 6.2 和 6.3 段中描述的操作:
https://dev.joget.org/community/display/DX7/Integration+with+UiPath+Robotic+Process+Automation(当然后来是6.4 :))
这是我的代码:
function authenticateForAT() {
var data1 = {
'grant_type': 'refresh-token', 'client_id': '$ClientID',
'refresh_token': '$UserKey',
};
var header1 = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(data1)
};
var response1 = UrlFetchApp.fetch("https://account.uipath.com/oauth/token", header1);
var messageContent1 = response1.getContentText();
var result1 = JSON.parse(messageContent1);
var access_token = result1['access_token'];
var header2 = {
'method': 'get',
'Accept': 'application/json',
'Authorization': 'Bearer ' + access_token
};
var response2 =
UrlFetchApp.fetch("https://cloud.uipath.com/{Accountlogicalname}/{tenantname}/orchestrator_/odata/Releases?$filter=ProcessKey%20eq%20%27ProcessName%27", header2);
var messageContent2 = response2.getContentText();
var result2 = JSON.parse(messageContent2);
}
我毫无问题地获得了访问令牌。奇怪的部分是函数 processReleaseKey() 中的“获取”方法。我从记录“response2”中得到这条消息:
{
"message": "You are not authenticated!",
"errorCode": 0,
"result": null,
"targetUrl": null,
"success": false,
"error": {
"code": 0,
"message": "You are not authenticated!",
"details": "You should be authenticated (sign in) in order to perform this operation.",
"validationErrors": null
},
"unAuthorizedRequest": true,
"__abp": true
}
更奇怪的是,我可以在 Postman 或 cmd 中执行这些任务(甚至像在文档的 6.4 中那样开始工作)而没有任何问题。
我希望你们能帮助我。