Edward Sun
Edward Sun

Reputation: 1621

SSL Error when making a request via UrlFetchApp

I'm trying to make a simple GET request to a site with a valid SSL certificate using UrlFetchApp, but I continuously encounter this error:

ScriptError: SSL Error https://dev.kaizena.com/api/config

Interestingly enough, the same request works as expected when I make a request to https://kaizena.com/api/config

Here's the code I'm using:

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);

Again, the code works as expected if I change the URL to https://kaizena.com/api/config (which also has a valid SSL certificate). Could someone let me know specifically what an "SSL Error" is?

Thanks, Edward

Upvotes: 5

Views: 5071

Answers (3)

tangblack
tangblack

Reputation: 139

You can use validateHttpsCertificates to ignore this SSL error.

var options = {
  'validateHttpsCertificates' : false
};
  
var response = UrlFetchApp.fetch(url, options);

Upvotes: 13

Edward Sun
Edward Sun

Reputation: 1621

It looks like the issue is with Google not recognizing the provider of the SSL Certificate I used. For reference, I was using PositiveSSL, which provided a valid certificate but didn't seem to make Apps Script very happy. I switched to RapidSSL today and now it all works.

Thank you all for the help.

Upvotes: 2

Alan Wells
Alan Wells

Reputation: 31310

The syntax for urlFetchApp is:

fetch(url)

or

fetch(url, params)

urlFetchApp

You are creating a payload, header and options, but then not using them.

var response = UrlFetchApp.fetch(url);

Should be:

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

Upvotes: 0

Related Questions