我正在尝试将我在Google Forms + App Script中构建的应用程序转换为App Maker应用程序。该应用程序通过API与Pagerduty进行交互。最终,它将在Pagerduty中编辑座席的联系信息,但是我建立的这个概念证明应该只是获取座席的联系信息。
尝试以与在Apps脚本中相同的方式将标头和选项添加到URL时,我总是收到错误消息。
错误:异常:无效参数:getPagerDutyContactInfo(ServerScript:21)上的https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR[object%20Object]
我认为URL后面的对象类型错误,但是我找不到有关该对象的文档。目前,我在寻求有关Pagerduty API的帮助。我只是不知道如何在App Maker中将参数正确添加到URL的末尾。
任何帮助将不胜感激。谢谢!
function getPagerDutyContactInfo() {
var headers = {
"Accept": "application/vnd.pagerduty+json;version=2",
"Authorization": "Token token=<API KEY>",
};
var options =
{
"muteHttpExceptions" : true,
"contentType" : "application/json",
"method" : "get",
"headers" : headers
// "payload" : infoPD
};
console.log("test-gr");
// Line below returns this error: Exception: Invalid argument: https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR[object%20Object] at getPagerDutyContactInfo (ServerScript:21)
var url = "https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR" + options;
console.log("after var URL, before fetch");
// The line below returns a 404 error from Pagerduty
// var url = "https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR";
var response = UrlFetchApp.fetch(url);
console.log("after fetch");
return response.getContentText();
}
答案 0 :(得分:0)
我咨询了一位同事,他指出了Java脚本中的错误。我试图将我的标头信息添加到options变量中到URL变量的末尾。 Google的UrlFetchApp会在对UrlFetchApp调用自己的逗号后期望这些。
下面的代码现在可用。 :)
function getPagerDutyContactInfo() {
var headers = {
"Accept": "application/vnd.pagerduty+json;version=2",
"Authorization": "Token token=<API KEY>",
};
var options =
{
"muteHttpExceptions" : true,
"contentType" : "application/json",
"method" : "get",
"headers" : headers
// "payload" : infoPD
};
console.log("test-gr");
// Line below returns this error: Exception: Invalid argument: https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR[object%20Object] at getPagerDutyContactInfo (ServerScript:21)
var url = "https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR";
console.log("after var URL, before fetch");
// The line below returns a 404 error from Pagerduty
// var url = "https://api.pagerduty.com/users/PBQHZKE/contact_methods/P6Q90HR";
var response = UrlFetchApp.fetch(url, options);
console.log("after fetch");
return response.getContentText();
}