Servizi Google avanzati

I servizi avanzati di Apps Script consentono agli sviluppatori esperti di connettersi a determinate API di Google pubbliche con una configurazione minore rispetto all'utilizzo delle interfacce HTTP. I servizi avanzati sono essenzialmente un "involucro sottile" intorno a queste API di Google. Funzionano in modo molto simile ai servizi integrati di Apps Script: ad esempio, offrono il completamento automatico e Apps Script gestisce il flusso di autorizzazione automaticamente. Tuttavia, è necessario abilitare un servizio avanzato prima di poterlo utilizzare in uno script.

Per vedere quali API di Google sono disponibili come servizi avanzati, cerca la sezione Servizi Google avanzati nel riferimento. Se vuoi utilizzare un'API di Google che non è disponibile come servizio avanzato, connettiti a questa come qualsiasi altra API esterna.

Servizi avanzati o HTTP?

Ciascuno dei servizi avanzati di Google è associato a un'API di Google pubblica. In Apps Script puoi accedere a queste API tramite servizi avanzati o semplicemente effettuando le richieste API direttamente utilizzando UrlFetch.

Se utilizzi il metodo di servizio avanzato, Apps Script gestisce il flusso di autorizzazione e offre il supporto del completamento automatico. Tuttavia, devi abilitare il servizio avanzato prima di poterlo utilizzare. Inoltre, alcuni servizi avanzati forniscono solo un sottoinsieme delle funzionalità disponibili nell'API.

Se utilizzi il metodo UrlFetch per accedere direttamente all'API, in pratica consideri l'API di Google come API esterna. Con questo metodo è possibile usare tutti gli aspetti dell'API. Tuttavia, richiede che tu gestisca l'autorizzazione API. Devi inoltre creare le intestazioni necessarie e analizzare le risposte dell'API.

In generale, è più facile utilizzare un servizio avanzato, se possibile, e utilizzare il metodo UrlFetch solo quando il servizio avanzato non fornisce le funzionalità necessarie.

Requisiti

Prima di poter utilizzare un servizio avanzato, devi soddisfare i seguenti requisiti:

  1. Devi abilitare il servizio avanzato nel progetto di script.
  2. Devi assicurarti che l'API corrispondente al servizio avanzato sia abilitata nel progetto della piattaforma Cloud (GCP) utilizzato dal tuo script.

    Se il tuo progetto di script utilizza un progetto GCP predefinito creato a partire dall'8 aprile 2019, l'API viene abilitata automaticamente dopo che hai abilitato il servizio avanzato e salvato il progetto di script. Se non l'hai ancora fatto, ti potrebbe essere chiesto anche di accettare i Termini di servizio di Google Cloud e delle API di Google.

    Se il tuo progetto di script utilizza un progetto della piattaforma Google Cloud standard o un progetto Google Cloud predefinito precedente, devi abilitare manualmente l'API corrispondente del servizio avanzato nel progetto Google Cloud. Per apportare questa modifica, devi disporre dell'accesso in modifica al progetto Google Cloud.

Consulta Progetti Cloud Platform per ulteriori informazioni.

Abilitare i servizi avanzati

Per utilizzare un servizio Google avanzato, segui queste istruzioni:

  1. Apri il progetto Apps Script.
  2. A sinistra, fai clic su Editor .
  3. A sinistra, accanto a Servizi, fai clic su Aggiungi un servizio .
  4. Seleziona un servizio Google avanzato e fai clic su Aggiungi.

Una volta abilitato, un servizio avanzato è disponibile nel completamento automatico.

Come vengono determinate le firme dei metodi

I servizi avanzati utilizzano in genere gli stessi oggetti, nomi dei metodi e parametri delle corrispondenti API pubbliche, anche se le firme dei metodi vengono tradotte per l'utilizzo in Apps Script. La funzione di completamento automatico dell'editor di script fornisce di solito informazioni sufficienti per iniziare, ma le regole seguenti spiegano in che modo Apps Script genera una firma del metodo da un'API di Google pubblica.

Le richieste alle API di Google possono accettare una varietà di tipi di dati, tra cui parametri del percorso, parametri di query, un corpo della richiesta e/o un allegato di caricamento multimediale. Alcuni servizi avanzati possono accettare anche intestazioni di richieste HTTP specifiche (ad esempio il servizio avanzato di Calendar).

La firma del metodo corrispondente in Google Apps Script ha i seguenti argomenti:

  1. Il corpo della richiesta (di solito una risorsa), sotto forma di oggetto JavaScript.
  2. Percorso o parametri obbligatori, come singoli argomenti.
  3. L'allegato del caricamento multimediale, come argomento Blob.
  4. Parametri facoltativi, come un oggetto JavaScript che mappa i nomi dei parametri ai valori.
  5. Intestazioni delle richieste HTTP, come un oggetto JavaScript che mappa i nomi delle intestazioni ai valori delle intestazioni.

Se il metodo non contiene elementi in una determinata categoria, la parte della firma viene omessa.

Esistono alcune eccezioni speciali da tenere presenti:

  • Per i metodi che accettano un caricamento di contenuti multimediali, il parametro uploadType viene impostato automaticamente.
  • I metodi denominati delete nell'API di Google sono denominati remove in Apps Script, dal momento che delete è una parola riservata in JavaScript.
  • Se un servizio avanzato è configurato per accettare le intestazioni delle richieste HTTP e imposti un oggetto JavaScript delle intestazioni delle richieste, devi impostare anche l'oggetto JavaScript dei parametri facoltativi (su un oggetto vuoto se non utilizzi parametri facoltativi).

Assistenza per servizi avanzati

I servizi avanzati sono semplicemente wrapper sottili che consentono l'utilizzo di un'API Google in Apps Script. Di conseguenza, i problemi riscontrati durante l'utilizzo di solito sono legati all'API sottostante, non a Apps Script.

Se si verifica un problema durante l'utilizzo di un servizio avanzato, questo deve essere segnalato utilizzando le istruzioni di assistenza per l'API sottostante. I link a queste istruzioni di supporto sono disponibili nella sezione Riferimento per Apps Script della guida avanzata ai servizi.