Immobiliendienst

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

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

Vergleich von Property-Speichern

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

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Zugriffsmethode getScriptProperties() getUserProperties() getDocumentProperties()
Geteilte Daten Alle Nutzer eines Skripts, Add-ons oder einer Web-App Der aktuelle Nutzer eines Skripts, Add-ons oder einer Web-App Alle Nutzer eines Add-ons im geöffneten Dokument
Wird in der Regel für Folgendes verwendet: App-weite Konfigurationsdaten wie Nutzername und Passwort für die externe Datenbank des Entwicklers Nutzerspezifische Einstellungen wie metrische oder imperiale Einheiten Dokumentspezifische Daten wie 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

Rufen Sie zum Speichern eines einzelnen Werts 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 separate Eigenschaft 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 Attributspeicher 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, nicht eine Live-Ansicht. Wenn Sie das zurückgegebene Objekt ändern, wird der Wert im Attributspeicher also nicht aktualisiert. Wenn Sie die Daten im Speicher 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

So löschen Sie einen einzelnen Wert: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);
}

Wenn Sie alle Attribute 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

Sie können in den Projekteinstellungen bis zu 50 benutzerdefinierte Eigenschaften als Strings in Schlüssel/Wert-Paaren manuell hinzufügen. Wenn Sie mehr als 50 Eigenschaften hinzufügen möchten, müssen Sie sie programmatisch mit den oben unter Daten speichern beschriebenen Methoden hinzufügen. Wenn Sie Skripteigenschaften auf der Seite „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 Symbol für Projekteinstellungen.
  3. Wenn Sie die erste Property hinzufügen möchten, klicken Sie unter Skripteigenschaften auf Skripteigenschaft hinzufügen.
  4. Wenn Sie weitere Eigenschaften hinzufügen möchten, klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten > Skripteigenschaft hinzufügen.
  5. Geben Sie für Property den Schlüsselnamen ein.
  6. Geben Sie für Wert den Wert für den Schlüssel ein.
  7. Optional: Wenn Sie weitere Eigenschaften 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 Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Nehmen Sie für jede Eigenschaft, die Sie ändern möchten, Änderungen am Schlüsselnamen und ‑wert 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 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.