Immobiliendienst

Mit dem Attributdienst 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 der Entwicklerkonfiguration oder Nutzereinstellungen verwendet. Attribute werden niemals von mehreren Skripts gemeinsam genutzt.

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

Vergleich von Immobiliengeschäften

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

Skripteigenschaften Nutzereigenschaften Dokumenteigenschaften
Zugriffsmethode getScriptProperties() getUserProperties() getDocumentProperties()
Gemeinsame Daten Alle Nutzer eines Skripts, Add-ons oder einer Web-App Der aktuelle Nutzer eines Skripts, eines Add-ons oder einer Web-App 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 wie Maßeinheiten oder angloamerikanische Maßeinheiten Dokumentspezifische Daten, z. B. die Quell-URL für ein eingebettetes Diagramm

Datenformat

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

Daten werden gespeichert

Um einen einzelnen Wert zu speichern, 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
  Logger.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
  Logger.log('Failed with error %s', err.message);
}

Daten lesen

Rufen Sie Properties.getProperty(key) auf, um einen einzelnen gespeicherten Wert abzurufen:

service/propertyService.gs
try {
  // Get the value for the user property 'DISPLAY_UNITS'.
  const userProperties = PropertiesService.getUserProperties();
  const units = userProperties.getProperty('DISPLAY_UNITS');
  Logger.log('values of units %s', units);
} catch (err) {
  // TODO (developer) - Handle exception
  Logger.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) {
    Logger.log('Key: %s, Value: %s', key, data[key]);
  }
} catch (err) {
  // TODO (developer) - Handle exception
  Logger.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
  Logger.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
  Logger.log('Failed with error %s', err.message);
}

Rufen Sie Properties.deleteAllProperties() auf, um alle Attribute 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
  Logger.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 50 Attribute hinzufügen möchten, müssen Sie sie programmatisch hinzufügen. Gehen Sie dazu wie oben unter Daten speichern beschrieben vor. Wenn Sie Skripteigenschaften auf der 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 die Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaft hinzufügen, um die erste Property hinzuzufügen.
  4. Zum Hinzufügen weiterer und nachfolgender Attribute 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: 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 die Projekteinstellungen.
  3. Klicken Sie unter Skripteigenschaften auf Skripteigenschaften bearbeiten.
  4. Ändern Sie den Schlüsselnamen und das Schlüssel/Wert-Paar für jede Property, 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.