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 jednego dokumentu, w którym używany jest dodatek. Jest on zwykle używany 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 usługi Właściwości, zobacz Limity dla usług Google.

Porównanie sklepów usług

Obiekt globalny PropertiesService udostępnia 3 metody, z których każda zwraca podobny obiekt Properties, ale z różnymi uprawnieniami dostępu, jak pokazano w 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 konfiguracji dotyczące całej aplikacji, takie jak nazwa użytkownika i hasło do bazy danych zewnętrznej dewelopera; Ustawienia dotyczące konkretnego użytkownika, np. jednostki metryczne lub imperialne dane dotyczące dokumentu, takie jak źródłowy adres URL osadzonego wykresu;

Format danych

Usługa Properties przechowuje wszystkie dane w postaci pary klucz-wartość. Typy danych, które nie są już 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 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 zapisać dane zbiorczo, przekaż mapę par klucz-wartość do parametru Properties.setProperties(properties). Każda para klucz-wartość obiektu 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ą wartość, która została wcześniej zapisana, wywołaj funkcję 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 w bieżącym magazynie właściwości, wywołaj funkcję 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 spowoduje zaktualizowania wartości w magazynie właściwości. Aby zaktualizować dane w sklepie, po prostu je ponownie zapisz:

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 funkcję 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 funkcję 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 jako ciągi znaków w parach klucz-wartość. Aby dodać więcej niż 50 właściwości, musisz je dodać programowo, korzystając z 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ą usługę, 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.

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 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 właściwości, którą chcesz usunąć, kliknij Usuń .
  5. Kliknij Zapisz właściwości skryptu.