我尝试使用UrlFetchApp向具有有效SSL证书的网站发出简单的GET请求,但我不断遇到此错误:
ScriptError: SSL Error https://dev.kaizena.com/api/config
有趣的是,当我向https://kaizena.com/api/config
发出请求时,相同的请求按预期工作以下是我使用的代码:
var url = "https://dev.kaizena.com/api/config";
var payload = JSON.stringify(data);
var headers = { "Accept":"application/json",
"Content-Type":"application/json"//,
};
var options = { "method":"GET",
"contentType" : "application/json",
"headers": headers,
"payload" : payload
}
var response = UrlFetchApp.fetch(url);
同样,如果我将URL更改为https://kaizena.com/api/config(也具有有效的SSL证书),则代码将按预期工作。有人能让我知道一个" SSL错误"是
谢谢, 爱德华
答案 0 :(得分:1)
看起来问题是Google没有认可我使用的SSL证书提供商。作为参考,我使用的是PositiveSSL,它提供了有效的证书,但似乎并没有使Apps Script非常高兴。我今天切换到了RapidSSL,现在一切正常。
谢谢大家的帮助。
答案 1 :(得分:1)
您可以使用validateHttpsCertificates忽略此SSL错误。
var options = {
'validateHttpsCertificates' : false
};
var response = UrlFetchApp.fetch(url, options);
答案 2 :(得分:0)
urlFetchApp的语法是:
fetch(url)
或
fetch(url, params)
您正在创建有效负载,标头和选项,但之后不再使用它们。
var response = UrlFetchApp.fetch(url);
应该是:
var response = UrlFetchApp.fetch(url, options);