通过UrlFetchApp发出请求时出现SSL错误

时间:2014-07-21 14:16:55

标签: google-apps-script

我尝试使用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错误"是

谢谢, 爱德华

3 个答案:

答案 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)

urlFetchApp

您正在创建有效负载,标头和选项,但之后不再使用它们。

var response = UrlFetchApp.fetch(url);

应该是:

var response = UrlFetchApp.fetch(url, options);