Mülkler Hizmeti

Özellikler hizmeti, basit verileri kapsamı bir komut dosyası, bir komut dosyası kullanıcısı veya eklentinin kullanıldığı bir doküman kapsamındaki anahtar/değer çiftlerinde depolamanıza olanak tanır. Genellikle geliştirici yapılandırmasını veya kullanıcı tercihlerini depolamak için kullanılır. Özellikler hiçbir zaman komut dosyaları arasında paylaşılmaz.

Mülkler hizmetinin günlük kota ve depolama alanı sınırlarını görüntülemek için Google Hizmetleri Kotalar sayfasına bakın.

Gayrimenkul mağazalarının karşılaştırması

PropertiesService global nesnesi, aşağıdaki tabloda gösterildiği gibi her biri benzer bir Properties nesnesi döndüren ancak farklı erişim haklarına sahip üç yöntem sunar:

Komut Dosyası Özellikleri Kullanıcı Özellikleri Doküman Özellikleri
Erişim yöntemi getScriptProperties() getUserProperties() getDocumentProperties()
Şu kullanıcılar arasında paylaşılan veriler: Bir komut dosyası, eklenti veya web uygulamasının tüm kullanıcıları Bir komut dosyasının, eklentinin veya web uygulamasının geçerli kullanıcısı Açık dokümandaki bir eklentinin tüm kullanıcıları
Tipik kullanım alanı Geliştiricinin harici veritabanı için kullanıcı adı ve şifre gibi uygulama genelindeki yapılandırma verileri Metrik veya İngiliz ölçü birimleri gibi kullanıcıya özel ayarlar Dokümana özgü veriler (ör. yerleştirilmiş bir grafiğin kaynak URL'si)

Veri biçimi

Özellikler hizmeti, tüm verileri anahtar/değer çiftlerinde dizeler halinde depolar. Kayıtlı nesnelerde yer alan yöntemler de dahil olmak üzere, halihazırda dize olmayan veri türleri otomatik olarak dizelere dönüştürülür.

Veri tasarrufu

Tek bir değeri kaydetmek için aşağıdaki örnekte gösterildiği gibi uygun mağazanın Properties.setProperty(key, value) yöntemini çağırın:

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

Verileri toplu olarak kaydetmek için anahtar/değer çiftleri eşlemesini Properties.setProperties(properties)'e iletin. Parametredeki nesnenin her bir anahtar/değer çifti ayrı bir özellik olarak depolanır:

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

Verileri okuma

Daha önce kaydettiğiniz tek bir değeri geri almak için Properties.getProperty(key) numaralı telefonu arayın:

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

Geçerli mülk mağazasındaki tüm değerleri almak için Properties.getProperties() çağrısı yapın:

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

Verileri değiştirme

getProperty() ve getProperties() yöntemleri, canlı görüntüleme değil, depolanan verilerin bir kopyasını döndürür. Bu nedenle, döndürülen nesneyi değiştirmek mülk deposundaki değeri güncellemez. Mağazadaki verileri güncellemek için tekrar kaydetmeniz yeterlidir:

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

Veri silme

Tek bir değeri silmek için Properties.deleteProperty(key) numarasını çağırın:

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

Geçerli mağazadaki tüm mülkleri silmek için Properties.deleteAllProperties() çağrısı yapın:

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

Komut dosyası özelliklerini manuel olarak yönetme

Proje ayarları sayfasından manuel olarak elliye kadar özel özellik (anahtar/değer çiftlerinde dize olarak) ekleyebilirsiniz. Elliden fazla mülk eklemek için bunları yukarıdaki Veri kaydetme bölümünde açıklanan yöntemleri kullanarak programatik olarak eklemeniz gerekir. Proje ayarları sayfasından komut dosyası özelliklerini ayarlarken komut dosyası değişkenlerine başvuruda bulunamazsınız.

Komut dosyası özellikleri ekleyin

  1. Apps Komut Dosyası projenizi açın.
  2. Solda Proje Ayarları'nı Proje ayarları simgesi tıklayın.
  3. İlk özelliği eklemek için Komut Dosyası Özellikleri altında Komut dosyası özelliği ekle'yi tıklayın.
  4. İkinci ve sonraki özellikleri eklemek için Komut Dosyası Özellikleri altında Komut dosyası özelliklerini düzenle > Komut dosyası özelliği ekle'yi tıklayın.
  5. Mülk alanına anahtar adını girin.
  6. Değer alanına anahtarın değerini girin.
  7. (İsteğe bağlı) Daha fazla özellik eklemek için Komut dosyası mülkü ekle'yi tıklayın.
  8. Komut dosyası özelliklerini kaydet'i tıklayın.

Komut dosyası özelliklerini düzenle

  1. Apps Komut Dosyası projenizi açın.
  2. Solda Proje Ayarları'nı Proje ayarları simgesi tıklayın.
  3. Komut Dosyası Özellikleri'nin altında, Komut dosyası özelliklerini düzenle'yi tıklayın.
  4. Değiştirmek istediğiniz her mülk için anahtar adında ve anahtar değerinde değişiklik yapın.
  5. Komut dosyası özelliklerini kaydet'i tıklayın.

Komut dosyası özelliklerini sil

  1. Apps Komut Dosyası projenizi açın.
  2. Solda Proje Ayarları'nı Proje ayarları simgesi tıklayın.
  3. Komut Dosyası Özellikleri'nin altında, Komut dosyası özelliklerini düzenle'yi tıklayın.
  4. Silmek istediğiniz mülkün yanında Kaldır'ı tıklayın.
  5. Komut dosyası özelliklerini kaydet'i tıklayın.