Immobiliendienst

Der Properties-Dienst speichert Daten in Schlüssel/Wert-Paaren, die auf ein Skript, einen Nutzer eines Skripts oder ein Dokument beschränkt sind, in dem ein Add-on verwendet wird. Er wird in der Regel zum Speichern von Entwicklerkonfigurationen oder Nutzereinstellungen verwendet. Properties werden niemals zwischen Skripts geteilt.

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

Vergleich von Property-Speichern

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

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Methode für den Zugriff getScriptProperties() getUserProperties() getDocumentProperties()
Daten, die für folgende Nutzer freigegeben wurden Alle Nutzer eines Skripts, Add-ons oder einer Webanwendung Der aktuelle Nutzer eines Skripts, Add-ons oder einer Webanwendung Alle Nutzer eines Add-ons im geöffneten Dokument
Typischerweise verwendet für Konfigurationsdaten für die gesamte App, z. B. Nutzername und Passwort für die externe Datenbank des Entwicklers Nutzerspezifische Einstellungen, z. B. metrische oder 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 konvertiert, einschließlich Methoden, die in gespeicherten Objekten enthalten sind.

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 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 separate Property 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 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-Speicher 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-Speicher also nicht aktualisiert. Wenn Sie die Daten im Speicher aktualisieren möchten, speichern Sie sie 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 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 Speicher 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

Sie können auf der Seite mit den Projekteinstellungen manuell bis zu 50 benutzerdefinierte Properties als Strings in Schlüssel/Wert-Paaren hinzufügen. Wenn Sie mehr als 50 Properties hinzufügen möchten, tun Sie dies programmatisch mit den im vorherigen Abschnitt unter Daten speichern beschriebenen Methoden. Wenn Sie Skripteigenschaften auf der Seite mit den Projekteinstellungen festlegen, verweisen Sie nicht auf Skriptvariablen.

Skripteigenschaften hinzufügen

  1. Öffnen Sie Ihr Google Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Symbol für die Projekteinstellungen.
  3. Wenn Sie die erste Property hinzufügen möchten, klicken Sie unter Skripteigenschaften auf Skripteigenschaft hinzufügen.
  4. Wenn Sie die zweite und weitere Properties hinzufügen möchten, klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten > Skripteigenschaft 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 Skripteigenschaft hinzufügen.
  8. Klicken Sie auf Skripteigenschaften speichern.

Skripteigenschaften bearbeiten

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Symbol für die Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Nehmen Sie die gewünschten Änderungen am Schlüsselnamen und Schlüsselwert für jede Property vor.
  5. Klicken Sie auf Skripteigenschaften speichern.

Skripteigenschaften löschen

  1. Öffnen Sie Ihr Apps Script-Projekt.
  2. Klicken Sie links auf Projekteinstellungen Symbol für die 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.