google-apps-scriptAan de slag met google-apps-script


Opmerkingen

Het officiële overzicht voor Google Apps Script wordt vanaf daar gepubliceerd op http://www.google.com/script/start

Google Apps Script is een JavaScript-cloudscripttaal die eenvoudige manieren biedt om taken in Google-producten en services van derden te automatiseren en webapplicaties te bouwen.

Van https://developers.google.com/apps-script/guides/services/#basic_javascript_features

Apps Script is gebaseerd op JavaScript 1.6 , plus enkele functies van 1.7 en 1.8 . Veel basis JavaScript-functies zijn dus beschikbaar naast de ingebouwde en geavanceerde Google-services : u kunt algemene objecten gebruiken zoals Array , Date , RegExp , enzovoort , evenals de globale objecten Math en Object . Omdat Apps Script-code echter op de servers van Google wordt uitgevoerd (niet op de client, behalve HTML-servicepagina 's), zijn browsergebaseerde functies zoals DOM-manipulatie of de Window API niet beschikbaar.

Een dieper inzicht in Google Apps Script

Google Apps Script is een op JavaScript gebaseerd platform-als-service dat voornamelijk wordt gebruikt om Google Apps te automatiseren en uit te breiden. Apps Script werkt uitsluitend op de infrastructuur van Google en vereist geen serverregistratie of configuratie. Een online IDE dient als interface voor het gehele platform dat alle services verbindt die beschikbaar zijn voor Apps Script. Gebruikersauthenticatie is ingebakken in het platform via OAuth2 en vereist geen code of configuratie door de scriptauteur.

Apps Script werkt op de server, maar kan gebruikersinterfaces hebben die zijn gebouwd met HTML, CSS, JavaScript of andere browserondersteunde technologieën. In tegenstelling tot Nodejs, die gebeurtenisgestuurd is, worden App-scripts uitgevoerd in een threaded model. Alle aanroepen van een script genereren een uniek exemplaar van dat script dat wordt geïsoleerd van alle andere exemplaren. Wanneer een uitvoering van een script is voltooid, wordt deze vernietigd.

Functies in Apps Script worden geblokkeerd, dus callback- en async-programmeerpatronen zijn niet nodig. Vergrendeling wordt gebruikt om te voorkomen dat kritieke secties code, zoals bestands-IO, gelijktijdig door verschillende instanties worden uitgevoerd.

In de praktijk is het schrijven van Apps Scripts eenvoudig. Hieronder staat een eenvoudig script dat een nieuwe spreadsheet maakt op basis van een sjabloonspreadsheet.

// Create a new spreadsheet from a template
function createSpreadsheet(){
   var templateFileId = '1Azcz9GwCeHjGl9TXf4aUh6g20Eqmgd1UMSdNVjzIZPk';
   var sheetName = 'Account Log for:' + new Date();
   SpreadsheetApp.openById(templateFileId).copy(sheetName);   
} 
 

Hallo Wereld

We gaan hallo zeggen als een berichtvenster.

function helloWorld() 
{
  Browser.msgBox("Hello World");
}
 

Om het script uit te voeren, klikt u op ▶ of selecteert u het menu-item Uitvoeren -> helloWorld

Installatie of instellingen

Google Apps Script vereist geen installatie of installatie. De enige vereiste is een Google-account. Een Gmail-account werkt evenals een Google Apps for Work / Education / Government-account. U kunt een nieuw Google-account maken door naar accounts.google.com te gaan

Start uw eerste script door naar script.google.com te gaan . U kunt ook toegang krijgen tot Google Apps Script onder de tools -> Script editor... van veel Google Apps, zoals Documenten, Spreadsheets, Formulieren, enz . Google Apps Script kan ook rechtstreeks aan uw Google Drive worden toegevoegd met de functie Connect more apps..

Officiële documentatie is te vinden op developers.google.com/apps-script/ .

App-scripts kunnen alleen worden uitgevoerd als ze een code.gs-bestand bevatten. Het bestand code.gs moet een functie met de naam doGet (zelfstandige scripts) of een onOpen-functie (addon-scripts) bevatten. De snelstart in de documentatie bevat voorbeelden.

Als een api is ingeschakeld in het app-script, moet deze ook worden ingeschakeld in de ontwikkelaarsconsole. De ontwikkelaarsconsole bevat echter API's die kunnen worden ingeschakeld maar niet in de app-scriptinterface verschijnen. Marketplace SDK moet bijvoorbeeld worden ingeschakeld in de ontwikkelaarsconsole voordat de app kan worden gepubliceerd naar de Google play store of naar een G-suite domeinbrede implementatie.

Voor Google-apps voor onderwijs / werk / overheid zijn er instellingen in de domeinbeheerdersconsole die kunnen worden aangepast om app-scripts toe te staan of te weigeren.

Uw script uitvoeren / debuggen

Probeer uw code uit te voeren vanaf de werkbalk zoals hieronder wordt weergegeven:

voer hier de afbeeldingsbeschrijving in

Als u in uw code dan meer dan één functie heeft, moet u voordat u deze uitvoert de functie vermelden waarmee u wilt werken. Bijvoorbeeld :

voer hier de afbeeldingsbeschrijving in

U kunt ook op ctrl + r op uw toetsenbord drukken om de code uit te voeren. Het zal de code eerst opslaan, indien niet opgeslagen, en vervolgens uitvoeren. Maar om dat te laten werken, moet u de functie hebben geselecteerd, zoals te zien in de afbeelding hierboven.

Ook als uw script wordt aangeroepen door sommige externe activiteiten, kunt u nog steeds logboeken zien door op view-> logs te klikken als u iets logt nadat de code is uitgevoerd.

Soorten scripts

Google App-scripts zijn van drie soorten.

  • standalone
  • Gebonden aan Google Apps
  • Web-apps

Zelfstandig script

Zelfstandige scripts zijn niet gebonden aan Google-apps, zoals Documenten, Spreadsheets of Formulieren, enz. Zelfstandige scripts kunnen worden gemaakt door script.google.com te bezoeken of door een Google-app-script te verbinden met Google Drive. Standalone script kan worden gebruikt om Google-apps onafhankelijk te programmeren, kan worden gebruikt als een web-app of kan worden ingesteld om automatisch te worden uitgevoerd vanaf een installeerbare trigger. Raadpleeg de documentatie voor een zelfstandig script.

Gebonden aan Google Apps

Script gebonden aan Google Apps ook bekend als container-gebonden script; in tegenstelling tot zelfstandige scripts, zijn gebonden aan Google-apps, zoals Google Documenten of Google Spreadsheets, enz. Container gebonden script kan worden gemaakt door tools> Script editor in Google App. Sommige functies zoals dialoogvensters, prompts, menu's en zijbalk worden alleen geleverd door container-gebonden scripts. Verder wordt container-gebonden script gebruikt om Google Add-ons te maken . Raadpleeg de documentatie voor container-gebonden scripts.

Web-apps

Google App Script kan worden gebruikt als web-app omdat deze via een browser kunnen worden geopend. Web-app kan een gebruikersinterface in de browser bieden en kan gebruik maken van google-apps, zoals documenten, werkbladen, enz. Zowel zelfstandige scripts als scripts die zijn gebonden aan Google Apps kunnen worden omgezet in web-apps. Om een script als een web-app te laten werken, moet het script aan twee vereisten voldoen:

  • een functie doGet() of doPost() .
  • De functie retourneert een HTML-service HtmlOutput-object of een Content-service TextOutput-object.

Inshort, doGet() en doPost() functies werken respectievelijk als http get en post request handlers.

Raadpleeg de officiële documentatie voor meer informatie over Web-apps.