Mülkler Hizmeti

Özellikler hizmeti, basit verileri tek bir komut dosyası, bir komut dosyası kullanıcısı veya eklentinin kullanıldığı bir doküman kapsamında 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 kotalarını ve depolama alanı sınırlarını görmek için Google Hizmetleri Kotalar sayfasını inceleyin.

Emlak 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ı, eklenti 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ının kullanıcı adı ve şifresi gibi uygulama genelindeki yapılandırma verileri Metrik veya İngiliz ölçü birimleri gibi kullanıcıya özel ayarlar Yerleştirilmiş bir grafiğin kaynak URL'si gibi dokümana özgü veriler

Veri biçimi

Özellikler hizmeti, tüm verileri anahtar/değer çiftlerinde dize olarak depolar. Halihazırda dize olmayan veri türleri, kaydedilen nesnelerde yer alan yöntemler dahil olmak üzere 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 çiftlerinin bir eşlemesini Properties.setProperties(properties) hizmetine iletin. Parametredeki nesnenin her 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 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 nesnenin değiştirilmesi, mülk deposundaki değeri güncellemez. Mağazadaki verileri güncellemek için verileri 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) numaralı telefonu arayı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 en fazla elli özel özelliği anahtar/değer çiftlerine dize olarak ekleyebilirsiniz. Elliden fazla özellik eklemek için bunları yukarıdaki Verileri kaydetme bölümünde açıklanan yöntemleri kullanarak programatik olarak eklemeniz gerekir. Proje ayarları sayfasından komut dosyası özelliklerini ayarladığınızda komut dosyası değişkenlerine referans veremezsiniz.

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'nin 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ı özelliği 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 özellik 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 silin

  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ındaki Kaldır'ı tıklayın.
  5. Komut dosyası özelliklerini kaydet'i tıklayın.