Google Apps Script:
Skicka en HTTP-förfrågan

Hur:

I Google Apps Script är det primära sättet att skicka en HTTP-förfrågan genom att använda tjänsten UrlFetchApp. Denna tjänst tillhandahåller metoder för att göra HTTP GET- och POST-begäranden. Här är ett enkelt exempel på att göra en GET-förfrågan för att hämta JSON-data:

function fetchJsonData() {
  var url = 'https://api.example.com/data';
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  Logger.log(data);
}

För en POST-förfrågan, som vanligtvis används för att skicka data till en server, behöver du inkludera fler detaljer i optionsparametern:

function postExample() {
  var url = 'https://api.example.com/post';
  var payload = {
    key1: 'value1',
    key2: 'value2'
  };
  
  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    // Konvertera JavaScript-objektet till en JSON-sträng
    'payload' : JSON.stringify(payload)
  };
  
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}

Dessa kodsnuttar visar grundläggande implementeringar av GET- och POST-förfrågningar. Resultatet kommer att bero på API-svaret och kan ses i Google Apps Scripts Logger.

Fördjupning

Google Apps Scripts tjänst UrlFetchApp har utvecklats avsevärt sedan dess början, och erbjuder mer nyanserad kontroll över HTTP-förfrågningar med funktioner som att ställa in headers, payload och hantera multipart/form-data för filuppladdningar. Även om det ger ett enkelt sätt att integrera externa webbtjänster, kan utvecklare som kommer från mer robusta backend-språk finna dess funktionalitet något begränsad jämfört med bibliotek som Pythons requests eller JavaScripts fetch API i Node.js.

En anmärkningsvärd begränsning är exekveringstidsgränsen för Google Apps Script, vilket påverkar långvariga förfrågningar. Dessutom, även om UrlFetchApp täcker ett brett spektrum av användningsfall, kan mer komplexa scenarier som involverar OAuth-autentisering eller hantering av mycket stora datamängder kräva kreativa lösningar eller användning av ytterligare Google Cloud-resurser.

Dock, för de flesta integrationer som Google Workspace-utvecklare stöter på—från att automatisera datahämtning till att posta uppdateringar till externa tjänster—tillhandahåller UrlFetchApp ett kraftfullt, tillgängligt verktyg. Dess integration i Google Apps Script innebär att det inte behövs några externa bibliotek eller komplexa inställningar, vilket gör HTTP-förfrågningar relativt enkla att utföra inom ramarna för Google Apps Script. I takt med att landskapet av webb-API:er fortsätter att expandera, förblir UrlFetchApp en kritisk bro för Google Apps Script-program att interagera med världen utanför Googles ekosystem.