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 dokumentu, w którym jest używany dodatek. 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 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 prawami dostępu, jak pokazano w tabeli poniżej:

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 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 zewnętrznej bazy danych dewelopera; Ustawienia dotyczące konkretnego użytkownika, np. jednostki metryczne lub imperialne dane dotyczące konkretnego dokumentu, takie jak źródłowy adres URL wykresu umieszczonego na stronie;

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 zbiorczo zapisywać dane, przekaż mapę par klucz-wartość do funkcji 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);
}

Czytanie 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 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ę zapisanych danych, a nie widok na żywo, dlatego zmiana zwróconego obiektu nie spowoduje aktualizacji 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 w postaci ciągó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. Podczas ustawiania 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 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. Zmień nazwę i wartość klucza w przypadku każdej właściwości, którą chcesz zmodyfikować.
  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.