How to GET via HTTPS?

Hello,
I am trying to run a Google Script from my Arduino so I can add sensor data to a Google Sheet. The script itself works fine, but I can't call it from my Arduino. I have figured out that this is because script.google.com only supports HTTPS. (accessing it via HTTP returns 301 Moved Permanently)
So, how do you make an HTTPS GET request via an UNO R4 Wifi? All the examples I've seen use an ESP32, which I don't have. Is there any way to do it without one?

Here is the code I'm using so far:

#include "DHT20.h"
#include "WiFiS3.h"
#include "arduino_secrets.h"
#include "NTPClient.h"

DHT20 DHT;
unsigned long datum = 0;

int soilVal = 0;   // Value for storing moisture value 
int soilPin = A0;  // Declare a variable for the soil moisture sensor 
int soilPower = 7; // Variable for soil moisture power

float airTemp = 0;  // Value for storing air temperature.
float airHum = 0;   // Value for storing air humidity

const char* ssid = SECRET_SSID; //--> Your wifi name or SSID.
const char* password = SECRET_PASS; //--> Your wifi password.
const char* host = "script.google.com";
const int httpsPort = 443;

String GAS_ID = "AKfycbzvLf0JADdbFQre-J-hOmgwiejlU-oVyd_d6iSlKSdGOCVcrXY3l-HklYaqUrBEPpwfeA";

const char* root_ca = "-----BEGIN CERTIFICATE-----\n" \
"MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw\n" \
"CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\n" \
"MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw\n" \
"MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp\n" \
"Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA\n" \
"A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo\n" \
"27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w\n" \
"Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw\n" \
"TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl\n" \
"qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH\n" \
"szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8\n" \
"Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk\n" \
"MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92\n" \
"wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p\n" \
"aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN\n" \
"VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID\n" \
"AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\n" \
"FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb\n" \
"C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe\n" \
"QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy\n" \
"h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4\n" \
"7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J\n" \
"ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef\n" \
"MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/\n" \
"Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT\n" \
"6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ\n" \
"0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm\n" \
"2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb\n" \
"bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c\n" \
"-----END CERTIFICATE-----";

WiFiClient client; 

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);

//Rather than powering the sensor through the 3.3V or 5V pins, 
//we'll use a digital pin to power the sensor. This will 
//prevent corrosion of the sensor as it sits in the soil. 

void setup() 
{
  Serial.begin(115200);   // open serial over USB

  Serial.println("");
  WiFi.begin(ssid, password);
  Serial.print("Connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(WiFi.status());
    delay(250);
  }
  Serial.println("");
  Serial.print("Successfully connected to : ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println();
  //----------------------------------------

  timeClient.begin();

  pinMode(soilPower, OUTPUT);//Set D7 as an OUTPUT
  digitalWrite(soilPower, LOW);//Set to LOW so no power is flowing through the sensor

  Wire.begin();
  DHT.begin();
  Serial.println(DHT.isConnected());

  delay(1000);
}

void loop() 
{
  timeClient.update();
  datum = timeClient.getEpochTime();
  DHT.read();

  soilVal = readSoil();
  airTemp = DHT.getTemperature();
  airHum = DHT.getHumidity();
  
  sendData(String(datum), airTemp, airHum, soilVal);
  
  delay(1000); // 1 second (FOR TESTING!!! CHANGE THIS LATER!!!! THIS IS MUY IMPORTANTE!!!)
}

// Function used to get soil moisture content
int readSoil()
{
    digitalWrite(soilPower, HIGH);//turn D7 "On"
    delay(10);  //wait 10 milliseconds 
    soilVal = analogRead(soilPin);  //Read the SIG value form sensor 
    digitalWrite(soilPower, LOW); //turn D7 "Off"
    return soilVal; //send current moisture value
}

void sendData(String d, float t, float h, int m) {
  Serial.print("connecting to ");
  Serial.println(host);
  if (client.connect(host, httpsPort)) {
    Serial.println("connected.");
  } else {
    Serial.println("connection failed");
    return;
  }

  String string_temperature = String(t, 1);
  String string_humidity = String(h, 1);
  String string_moisture = String(m);
  Serial.println(string_temperature);
  Serial.println(string_humidity);
  Serial.println(string_moisture);

  String url = "/macros/s/" + GAS_ID + "/exec?date=" + datum + "&temperature=" + string_temperature + "&humidity=" + string_humidity + "&moisture=" + string_moisture;
  Serial.print("requesting URL: ");
  Serial.println(url);
  
  // TODO: Change this to HTTPS.
  client.println("GET" + url + "HTTP/1.1");
  client.println("Host:" + host);
  client.println("Connection: close");
  client.println();

  Serial.println("request sent");
  
  while (client.connected()) {
    /*String line = client.readStringUntil('\n');
    if (line == "\r") {
      Serial.println("headers received");
      break;
    }*/
    uint32_t received_data_num = 0;
    while (client.available()) {
      /* actual data reception */
      char c = client.read();
      /* print data to serial port */
      Serial.print(c);
      /* wrap data to 80 columns*/
      received_data_num++;
      if(received_data_num % 80 == 0) { 
        Serial.println();
      }
    }
  }
  /*String line = client.readStringUntil('\n');
  Serial.println(line);

  Serial.print("reply was : ");
  Serial.println(line);
  Serial.println("closing connection");
  Serial.println();*/
}

Any help is appreciated.

There is a Wi-Fi Web Client SSL example in the doc (I don’t have that board).