Usługa nieruchomości

Usługa Properties umożliwia przechowywanie prostych danych w postaci par klucz-wartość w zakresie jednego skryptu, jednego użytkownika skryptu lub jednego dokumentu, w którym jest używany dodatek. Służy on zwykle 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.

Zapisywanie danych

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

Dane o czytaniu

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

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 getProperty()getProperties() zwracają kopię przechowywanych danych, a nie widok na żywo, więc zmiana zwróconego obiektu nie zaktualizuje wartości w pamięci właściwości. Aby zaktualizować dane w sklepie, po prostu 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);
}

Usuwanie danych

Aby usunąć pojedynczą wartość, wywołaj 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);
}

Aby usunąć wszystkie usługi w bieżącym sklepie, 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

Na stronie ustawień projektu możesz ręcznie dodać maksymalnie 50 właściwości niestandardowych w postaci ciągów znaków w parach klucz-wartość. Aby dodać więcej niż 50 właściwości, musisz dodać je w sposób zautomatyzowany przy użyciu metod opisanych powyżej w sekcji Zapisywanie danych. Gdy ustawiasz właściwości skryptu na stronie ustawień projektu, nie możesz odwoływać się do zmiennych skryptu.

Dodawanie właściwości skryptu

  1. Otwórz projekt 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 usługi, 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 dla każdej usługi, 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.