Servizio proprietà

Il servizio Proprietà ti consente di archiviare semplici dati in coppie chiave-valore con ambito a livello di uno script, un utente di uno script o un documento in cui viene utilizzato un componente aggiuntivo. È in genere vengono utilizzati per memorizzare la configurazione dello sviluppatore o le preferenze utente. Proprietà non vengono mai condivisi tra gli script.

Per visualizzare le quote giornaliere e i limiti di archiviazione per il servizio Proprietà, vedi Quote per i servizi Google.

Confronto di negozi di proprietà

La PropertiesService globale offre tre metodi, ognuno dei quali restituisce un Properties ma con diritti di accesso diversi, come illustrato nella tabella seguente:

Proprietà script Proprietà utente Proprietà documento
Metodo di accesso getScriptProperties() getUserProperties() getDocumentProperties()
Dati condivisi tra Tutti gli utenti di uno script, un componente aggiuntivo o un'app web L'utente corrente di uno script, un componente aggiuntivo o un'app web Tutti gli utenti di un componente aggiuntivo nel documento aperto
Generalmente impiegata per I dati di configurazione a livello di app, come il nome utente e la password database esterno dello sviluppatore Impostazioni specifiche dell'utente, ad esempio unità metriche o imperiali Dati specifici dei documenti, come l'URL di origine di un grafico incorporato

Formato dei dati

Il servizio Proprietà archivia tutti i dati come stringhe in coppie chiave-valore. Tipi di dati che non sono già stringhe vengono automaticamente convertite in stringhe, contenuti all'interno degli oggetti salvati.

Salvataggio dei dati in corso...

Per salvare un singolo valore, chiama il metodo Properties.setProperty(key, value) del negozio appropriato, come mostrato nell'esempio seguente:

service/propertyService.gs
try {
  // Set a property in each of the three property stores.
  const scriptProperties = PropertiesService.getScriptProperties();
  const userProperties = PropertiesService.getUserProperties();
  const documentProperties = PropertiesService.getDocumentProperties();

  scriptProperties.setProperty('SERVER_URL', 'http://www.example.com/');
  userProperties.setProperty('DISPLAY_UNITS', 'metric');
  documentProperties.setProperty('SOURCE_DATA_ID',
      '1j3GgabZvXUF177W0Zs_2v--H6SPCQb4pmZ6HsTZYT5k');
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Per salvare i dati in blocco, passa una mappa di coppie chiave-valore a Properties.setProperties(properties) Ogni coppia chiave-valore dell'oggetto nel parametro viene archiviata come un proprietà:

service/propertyService.gs
try {
  // Set multiple script properties in one call.
  const scriptProperties = PropertiesService.getScriptProperties();
  scriptProperties.setProperties({
    'cow': 'moo',
    'sheep': 'baa',
    'chicken': 'cluck'
  });
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Lettura dei dati

Per recuperare un singolo valore salvato in precedenza, richiama Properties.getProperty(key):

service/propertyService.gs
try {
  // Get the value for the user property 'DISPLAY_UNITS'.
  const userProperties = PropertiesService.getUserProperties();
  const units = userProperties.getProperty('DISPLAY_UNITS');
  console.log('values of units %s', units);
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Per recuperare tutti i valori nell'archivio proprietà corrente, chiama Properties.getProperties():

service/propertyService.gs
try {
  // Get multiple script properties in one call, then log them all.
  const scriptProperties = PropertiesService.getScriptProperties();
  const data = scriptProperties.getProperties();
  for (const key in data) {
    console.log('Key: %s, Value: %s', key, data[key]);
  }
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Modifica dei dati

I metodi getProperty() e getProperties() restituiscono una copia dei di dati, non una visualizzazione in tempo reale, quindi la modifica dell'oggetto restituito non aggiorna il valore nel negozio dell'immobile. Per aggiornare i dati nello store, salvali di nuovo:

service/propertyService.gs
try {
  // Change the unit type in the user property 'DISPLAY_UNITS'.
  const userProperties = PropertiesService.getUserProperties();
  let units = userProperties.getProperty('DISPLAY_UNITS');
  units = 'imperial'; // Only changes local value, not stored value.
  userProperties.setProperty('DISPLAY_UNITS', units); // Updates stored value.
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Eliminazione dei dati

Per eliminare un singolo valore, richiama Properties.deleteProperty(key):

service/propertyService.gs
try {
  // Delete the user property 'DISPLAY_UNITS'.
  const userProperties = PropertiesService.getUserProperties();
  userProperties.deleteProperty('DISPLAY_UNITS');
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Per eliminare tutte le proprietà nel negozio corrente, chiama Properties.deleteAllProperties():

service/propertyService.gs
try {
  // Get user properties in the current script.
  const userProperties = PropertiesService.getUserProperties();
  // Delete all user properties in the current script.
  userProperties.deleteAllProperties();
} catch (err) {
  // TODO (developer) - Handle exception
  console.log('Failed with error %s', err.message);
}

Gestisci manualmente le proprietà degli script

Puoi aggiungere manualmente fino a 50 proprietà personalizzate, sotto forma di stringhe nelle coppie chiave-valore dalla pagina delle impostazioni progetto. Per aggiungere più di 50 proprietà, devi devi aggiungerli in modo programmatico utilizzando i metodi descritti sopra Salvataggio dei dati. Quando imposti le proprietà dello script dalla pagina delle impostazioni progetto, non puoi le variabili di script di riferimento.

Aggiungi proprietà script

  1. Apri il progetto Apps Script.
  2. A sinistra, fai clic su Impostazioni progetto Icona delle impostazioni progetto.
  3. Per aggiungere la prima proprietà, in Proprietà script fai clic su Aggiungi proprietà script.
  4. Per aggiungere una seconda proprietà e successive, in Proprietà script fai clic su Modifica proprietà script > Aggiungi proprietà script.
  5. In Proprietà, inserisci il nome della chiave.
  6. In Valore, inserisci il valore della chiave.
  7. (Facoltativo) Per aggiungere altre proprietà, fai clic su Aggiungi proprietà script.
  8. Fai clic su Salva proprietà script.

Modifica proprietà script

  1. Apri il progetto Apps Script.
  2. A sinistra, fai clic su Impostazioni progetto Icona delle impostazioni progetto.
  3. In Proprietà script, fai clic su Modifica proprietà script.
  4. Apporta modifiche al nome e al valore della chiave per ogni proprietà da modificare.
  5. Fai clic su Salva proprietà script.

Elimina proprietà script

  1. Apri il progetto Apps Script.
  2. A sinistra, fai clic su Impostazioni progetto Icona delle impostazioni progetto.
  3. In Proprietà script, fai clic su Modifica proprietà script.
  4. Fai clic su Rimuovi accanto alla proprietà da eliminare.
  5. Fai clic su Salva proprietà script.