Usługa nieruchomości

Usługa Properties przechowuje dane w postaci par klucz-wartość przypisanych do jednego skryptu, jednego użytkownika skryptu lub jednego dokumentu, w którym jest używany dodatek. Zwykle służy do przechowywania konfiguracji dewelopera lub preferencji użytkownika. Właściwości nigdy nie są udostępniane między skryptami.

Aby wyświetlić dzienne limity i limity miejsca na dane w usłudze Nieruchomości, zapoznaj się z artykułem Limity usług Google.

Porównanie sklepów w usłudze

Obiekt globalny PropertiesService udostępnia 3 metody, z których każda zwraca podobny obiekt Properties, ale z różnymi prawami dostępu, jak pokazano w tej tabeli:

Właściwości skryptu Właściwości użytkownika Właściwości dokumentu
Metoda dostępu getScriptProperties() getUserProperties() getDocumentProperties()
Dane udostępniane między wszyscy użytkownicy skryptu, dodatku lub aplikacji internetowej. Bieżący użytkownik skryptu, dodatku lub aplikacji internetowej Wszyscy użytkownicy dodatku w otwartym dokumencie
Zwykle używane do dane konfiguracyjne dotyczące całej aplikacji, takie jak nazwa użytkownika i hasło do zewnętrznej bazy danych dewelopera; ustawienia dotyczące konkretnego użytkownika, np. jednostki metryczne lub imperialne; dane dotyczące dokumentu, np. adres URL źródła umieszczonego wykresu;

Format danych

Usługa Properties przechowuje wszystkie dane w postaci ciągów znaków w parach klucz-wartość. Typy danych, które nie są jeszcze ciągami znaków, są automatycznie konwertowane na ciągi znaków, w tym metody zawarte w zapisanych obiektach.

Żeby zaoszczędzić dane

Aby zapisać pojedynczą wartość, wywołaj metodę Properties.setProperty(key, value) odpowiedniego magazynu, jak pokazano w tym przykładzie:

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

Aby zapisać dane zbiorczo, przekaż mapę par klucz-wartość do funkcji Properties.setProperties(properties). Każda para klucz-wartość w obiekcie w parametrze jest przechowywana jako osobna właściwość:

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

Odczytywanie danych

Aby pobrać pojedynczą zapisaną wcześniej wartość, wywołaj:Properties.getProperty

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

Aby pobrać wszystkie wartości z bieżącego magazynu właściwości, wywołaj polecenie Properties.getProperties:

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

Modyfikowanie danych

Metody getPropertygetProperties zwracają kopię przechowywanych danych, a nie widok na żywo, więc zmiana zwróconego obiektu nie aktualizuje wartości w magazynie właściwości. Aby zaktualizować dane w sklepie, zapisz je ponownie:

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

Usuń dane

Aby usunąć pojedynczą wartość, wywołaj Properties.deleteProperty:

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

Aby usunąć wszystkie właściwości w bieżącym magazynie, wywołaj: Properties.deleteAllProperties

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

Ręczne zarządzanie właściwościami skryptu

Ręcznie dodaj do 50 właściwości niestandardowych w postaci ciągów znaków w parach klucz-wartość na stronie ustawień projektu. Aby dodać więcej niż 50 właściwości, dodaj je w sposób zautomatyzowany, korzystając z metod opisanych w poprzedniej sekcji w Zapisywaniu danych. Gdy ustawiasz właściwości skryptu na stronie ustawień projektu, nie odwołuj się do zmiennych skryptu.

Dodawanie właściwości skryptu

  1. Otwórz projekt Google Apps Script.
  2. Po lewej stronie kliknij Ustawienia projektu Ikona ustawień projektu.
  3. Aby dodać pierwszą właściwość, w sekcji Właściwości skryptu kliknij Dodaj właściwość skryptu.
  4. Aby dodać drugą i kolejne właściwości, w sekcji Właściwości skryptu kliknij Edytuj właściwości skryptu > Dodaj właściwość skryptu.
  5. W polu Właściwość wpisz nazwę klucza.
  6. W polu Wartość wpisz wartość klucza.
  7. (Opcjonalnie) Aby dodać więcej właściwości, kliknij Dodaj właściwość skryptu.
  8. Kliknij Zapisz właściwości skryptu.

Edytowanie właściwości skryptu

  1. Otwórz projekt Apps Script.
  2. Po lewej stronie kliknij Ustawienia projektu Ikona ustawień projektu.
  3. W sekcji Właściwości skryptu kliknij Edytuj właściwości skryptu.
  4. Wprowadź zmiany w nazwie i wartości klucza w przypadku każdej właściwości, którą chcesz zmienić.
  5. Kliknij Zapisz właściwości skryptu.

Usuwanie właściwości skryptu

  1. Otwórz projekt Apps Script.
  2. Po lewej stronie kliknij Ustawienia projektu Ikona ustawień projektu.
  3. W sekcji Właściwości skryptu kliknij Edytuj właściwości skryptu.
  4. Obok usługi, którą chcesz usunąć, kliknij Usuń .
  5. Kliknij Zapisz właściwości skryptu.