Immobiliendienst

Mit dem Properties-Dienst können Sie einfache Daten in Schlüssel/Wert-Paaren speichern, die auf ein Script, einen Nutzer eines Scripts oder ein Dokument beschränkt sind, in dem ein Add-on verwendet wird. Sie wird in der Regel zum Speichern der Entwicklerkonfiguration oder der Nutzereinstellungen verwendet. Eigenschaften werden nie zwischen Scripts geteilt.

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

Vergleich von Property-Shops

Das globale Objekt PropertiesService bietet drei Methoden, die jeweils ein ähnliches Properties-Objekt mit unterschiedlichen Zugriffsrechten zurückgeben, wie in der folgenden Tabelle dargestellt:

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Zugriffsmethode getScriptProperties() getUserProperties() getDocumentProperties()
Daten, die für Alle Nutzer eines Scripts, Add-ons oder einer Webanwendung Der aktuelle Nutzer eines Scripts, Add-ons oder einer Web-App Alle Nutzer eines Add-ons im geöffneten Dokument
Wird in der Regel für App-weite Konfigurationsdaten wie der Nutzername und das Passwort für die externe Datenbank des Entwicklers Nutzerspezifische Einstellungen, z. B. metrische oder angelsächsische/imperiale Einheiten Dokumentspezifische Daten, z. B. die Quell-URL für ein eingebettetes Diagramm

Datenformat

Der Properties-Dienst speichert alle Daten als Strings in Schlüssel/Wert-Paaren. Datentypen, die noch keine Strings sind, werden automatisch in Strings umgewandelt, einschließlich Methoden in gespeicherten Objekten.

Daten speichern

Wenn Sie einen einzelnen Wert speichern möchten, rufen Sie die Methode Properties.setProperty(key, value) des entsprechenden Speichers auf, wie im folgenden Beispiel gezeigt:

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

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

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

Daten lesen

Wenn Sie einen einzelnen Wert abrufen möchten, den Sie zuvor gespeichert haben, rufen Sie Properties.getProperty(key) auf:

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

Wenn Sie alle Werte im aktuellen Property-Store abrufen möchten, rufen Sie Properties.getProperties() auf:

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

Daten ändern

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

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

Daten löschen

Wenn Sie einen einzelnen Wert löschen möchten, rufen Sie Properties.deleteProperty(key) auf:

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

Wenn Sie alle Properties im aktuellen Store löschen möchten, rufen Sie Properties.deleteAllProperties() auf:

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

Skripteigenschaften manuell verwalten

Auf der Seite „Projekteinstellungen“ können Sie bis zu 50 benutzerdefinierte Eigenschaften manuell als Strings in Schlüssel/Wert-Paaren hinzufügen. Wenn Sie mehr als 50 Properties hinzufügen möchten, müssen Sie sie programmatisch mithilfe der oben unter Daten speichern beschriebenen Methoden hinzufügen. Wenn Sie Script-Properties auf der Seite „Projekteinstellungen“ festlegen, können Sie nicht auf Script-Variablen verweisen.

Skripteigenschaften hinzufügen

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Das Symbol für die Projekteinstellungen.
  3. Klicken Sie unter Script-Properties auf Script-Property hinzufügen, um die erste Property hinzuzufügen.
  4. Wenn Sie eine zweite und weitere Properties hinzufügen möchten, klicken Sie unter Script-Properties auf Script-Properties bearbeiten > Script-Property hinzufügen.
  5. Geben Sie unter Property den Schlüsselnamen ein.
  6. Geben Sie unter Wert den Wert für den Schlüssel ein.
  7. Optional: Wenn Sie weitere Properties hinzufügen möchten, klicken Sie auf Script-Property hinzufü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 die Projekteinstellungen.
  3. Klicken Sie unter Script-Eigenschaften auf Script-Eigenschaften bearbeiten.
  4. Nehmen Sie Änderungen am Schlüsselnamen und Schlüsselwert für jede Property vor, 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 die Projekteinstellungen.
  3. Klicken Sie unter Script-Eigenschaften auf Script-Eigenschaften bearbeiten.
  4. Klicken Sie neben der Property, die Sie löschen möchten, auf „Entfernen“ .
  5. Klicken Sie auf Skripteigenschaften speichern.