Usługa nieruchomości

Usługa Właściwości umożliwia przechowywanie prostych danych w parach klucz-wartość ograniczonych do jednego skryptu, jednego użytkownika skryptu lub jeden dokument, w którym jest używany dodatek. Jest zwykle służy do przechowywania konfiguracji dewelopera lub ustawień użytkownika. Właściwości nigdy nie są udostępniane między skryptami.

Aby wyświetlić dzienne limity miejsca i limity miejsca na dane w usłudze Właściwości, zapoznaj się z sekcją Limity dla usług Google.

Porównanie sklepów nieruchomości

PropertiesService obiekt globalny oferuje trzy metody, z których każda zwraca podobny Properties ale z innymi uprawnieniami dostępu, jak pokazano w tej tabeli:

Właściwości skryptu Właściwości użytkownika Właściwości dokumentu
Sposób uzyskania 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
Typowe zastosowanie Dane konfiguracyjne obejmujące całą aplikację, takie jak nazwa użytkownika i hasło zewnętrzna baza danych programisty Ustawienia dla konkretnego użytkownika, np. jednostki metryczne lub jednostki imperialne dane dotyczące konkretnego dokumentu, takie jak źródłowy adres URL wykresu umieszczonego na stronie;

Format danych

Usługa Właściwości przechowuje wszystkie dane jako ciągi znaków w parach klucz-wartość. Typy danych , które nie są jeszcze ciągami tekstowymi, zostaną automatycznie przekonwertowane na ciągi, w tym w zapisanych obiektach.

Zapisuję dane

Aby zapisać pojedynczą wartość, wywołaj metodę Properties.setProperty(key, value) sklepu, jak 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 zbiorczo zapisać dane, przekaż mapę par klucz-wartość do funkcji Properties.setProperties(properties) Każda para klucz-wartość obiektu w parametrze jest przechowywana jako osobna usługa:

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

Odczyt danych

Aby odzyskać jedną 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 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() i getProperties() zwracają kopię przechowywanych danych danych, a nie podglądu na żywo, więc zmiana zwróconego obiektu nie spowoduje aktualizacji wartości. w magazynie nieruchomoś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ąć jedną 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 miejsca zakwaterowania 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

Możesz ręcznie dodać do 50 właściwości niestandardowych jako ciągi znaków w parze klucz-wartość ze strony ustawień projektu. Aby dodać więcej niż 50 miejsc zakwaterowania, dodawać je automatycznie, korzystając z metod opisanych powyżej Zapisuję dane. Po ustawieniu właściwości skryptu na stronie ustawień projektu nie możesz zmiennych skryptu.

Dodaj 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 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 Usługa 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.

Edytuj 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. Zmień nazwę i wartość klucza w przypadku każdej właściwości, którą chcesz zmienić.
  5. Kliknij Zapisz właściwości skryptu.

Usuń 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.