Immobiliendienst

Mit dem Attributdienst können Sie einfache Daten in Schlüssel/Wert-Paaren speichern, die einem Skript, einem Nutzer eines Skripts oder einem Dokument mit Add-on zugeordnet sind. Sie wird in der Regel zum Speichern der Entwicklerkonfiguration oder Nutzereinstellungen verwendet. Attribute werden niemals zwischen Skripts geteilt.

Informationen zu den täglichen Kontingenten und Speicherlimits für den Property-Dienst finden Sie unter Kontingente für Google-Dienste.

Immobiliengeschäfte im Vergleich

Das globale Objekt PropertiesService bietet drei Methoden, von denen jede ein ähnliches Properties-Objekt mit unterschiedlichen Zugriffsrechten zurückgibt, wie in der folgenden Tabelle gezeigt:

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Zugriffsmethode getScriptProperties() getUserProperties() getDocumentProperties()
Gemeinsame Daten Alle Nutzer eines Skripts, eines Add-ons oder einer Webanwendung Der aktuelle Nutzer eines Skripts, eines Add-ons oder einer Webanwendung Alle Nutzer eines Add-ons im geöffneten Dokument
Üblicherweise für App-weite Konfigurationsdaten wie Nutzername und Passwort für die externe Datenbank des Entwicklers Nutzerspezifische Einstellungen wie metrische oder angloamerikanische Einheiten Dokumentspezifische Daten wie die Quell-URL für ein eingebettetes Diagramm

Datenformat

Im Eigenschaftendienst werden alle Daten als Strings in Schlüssel/Wert-Paaren gespeichert. Datentypen, die nicht bereits Strings sind, werden automatisch in Strings konvertiert. Das gilt auch für Methoden in gespeicherten Objekten.

Daten werden gespeichert

Rufen Sie zum Speichern eines einzelnen Werts die Methode Properties.setProperty(key, value) des entsprechenden Speichers auf, wie im folgenden Beispiel gezeigt:

Dienst/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);
}

Übergeben Sie eine Zuordnung von Schlüssel/Wert-Paaren an Properties.setProperties(properties), um Daten im Bulk zu speichern. Jedes Schlüssel/Wert-Paar des Objekts im Parameter wird als separates Attribut gespeichert:

Dienst/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);
}

Daten lesen

Rufen Sie Properties.getProperty(key) auf, um einen einzelnen Wert abzurufen, den Sie zuvor gespeichert haben:

Dienst/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);
}

Rufen Sie Properties.getProperties() auf, um alle Werte im aktuellen Attributspeicher abzurufen:

Dienst/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);
}

Daten ändern

Die Methoden getProperty() und getProperties() geben eine Kopie der gespeicherten Daten zurück, keine Liveansicht. Wenn Sie also das zurückgegebene Objekt ändern, wird der Wert im Property-Speicher nicht aktualisiert. Wenn Sie die Daten im Store aktualisieren möchten, speichern Sie sie einfach noch einmal:

Dienst/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);
}

Daten löschen

Rufen Sie Properties.deleteProperty(key) auf, um einen einzelnen Wert zu löschen:

Dienst/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);
}

Rufen Sie Properties.deleteAllProperties() auf, um alle Attribute im aktuellen Speicher zu löschen:

Dienst/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);
}

Skripteigenschaften manuell verwalten

Sie können auf der Seite mit den Projekteinstellungen manuell bis zu 50 benutzerdefinierte Attribute als Strings in Schlüssel/Wert-Paaren hinzufügen. Wenn Sie mehr als fünfzig Attribute hinzufügen möchten, müssen Sie sie programmatisch mit den oben unter Daten speichern beschriebenen Methoden hinzufügen. Wenn Sie Skripteigenschaften über die Seite mit den Projekteinstellungen festlegen, können Sie nicht auf Skriptvariablen verweisen.

Skripteigenschaften hinzufügen

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Das Symbol für Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skriptattribut hinzufügen, um das erste Attribut hinzuzufügen.
  4. Klicken Sie zum Hinzufügen weiterer und nachfolgender Attribute unter Skripteigenschaften auf Skripteigenschaften bearbeiten > Skriptattribut hinzufügen.
  5. Geben Sie für Property den Namen des Schlüssels ein.
  6. Geben Sie für Wert den Wert für den Schlüssel ein.
  7. Optional: Klicken Sie auf Skripteigenschaft hinzufügen, um weitere Attribute hinzuzufügen.
  8. Klicken Sie auf Skripteigenschaften speichern.

Skripteigenschaften bearbeiten

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Das Symbol für Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Ändern Sie den Schlüsselnamen und -wert für jede Eigenschaft, die Sie ändern möchten.
  5. Klicken Sie auf Skripteigenschaften speichern.

Skripteigenschaften löschen

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Das Symbol für Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Klicken Sie neben der Property, die Sie löschen möchten, auf „Entfernen“ .
  5. Klicken Sie auf Skripteigenschaften speichern.