Immobiliendienst

Mit dem Dienst „Properties“ können Sie einfache Daten in Schlüssel/Wert-Paaren speichern, die einem Script, einem Nutzer eines Skripts oder einem Dokument zugeordnet sind, in dem ein Add-on verwendet wird. Es wird normalerweise verwendet, um die Entwicklerkonfiguration oder Nutzereinstellungen zu speichern. Attribute werden niemals zwischen Skripts geteilt.

Informationen zu den Tageskontingenten und Speicherlimits für den Properties-Dienst finden Sie unter Kontingente für Google-Dienste.

Vergleich von Immobiliengeschäften

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

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Zugriffsmethode getScriptProperties() getUserProperties() getDocumentProperties()
Gemeinsame Daten zwischen 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
Üblicherweise verwendet für App-weite Konfigurationsdaten wie Nutzername und Passwort für die externe Datenbank des Entwicklers Nutzerspezifische Einstellungen, z. B. metrische oder angloamerikanische Einheiten Dokumentspezifische Daten wie die Quell-URL für ein eingebettetes Diagramm

Datenformat

Der Properties-Dienst speichert alle Daten als Zeichenfolgen 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 werden gespeichert

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

Ü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:

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

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

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

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

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 Live-Ansicht. Wenn Sie also das zurückgegebene Objekt ändern, wird der Wert im Property-Speicher nicht aktualisiert. Um die Daten im Speicher zu aktualisieren, 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

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

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

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

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 mit den Projekteinstellungen können Sie manuell bis zu 50 benutzerdefinierte Eigenschaften 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 Skripteigenschaften auf der Seite mit den Projekteinstellungen festlegen, können Sie auf Skriptvariablen nicht 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 Skripteigenschaften auf Skriptattribut hinzufügen, um die erste Eigenschaft hinzuzufügen.
  4. Wenn Sie zweite und weitere Eigenschaften 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 Eigenschaften hinzufügen möchten, klicken Sie auf Skriptattribut 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 Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Nehmen Sie die gewünschten Änderungen am Schlüsselnamen und am Schlüsselwert für jede Eigenschaft 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 Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Klicken Sie neben der Property, die Sie löschen möchten, auf „Entfernen“ .
  5. Klicken Sie auf Skripteigenschaften speichern.