Mülkler Hizmeti

Mülkler hizmeti, basit verileri bir komut dosyasına, komut dosyasının bir kullanıcısına veya eklentinin kullanıldığı bir belgeye yönelik kapsamlı anahtar/değer çiftlerinde depolamanızı sağlar. 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.

Tesisler hizmetinin günlük kotalarını ve depolama alanı sınırlarını görüntülemek için Google Hizmetleri için kotalar başlıklı makaleyi inceleyin.

Mülk mağazalarının karşılaştırması

PropertiesService küresel nesnesi, her biri aşağıdaki tabloda gösterildiği gibi 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()
Aşağıdakiler arasında paylaşılan veriler Bir komut dosyasının, eklentinin veya web uygulamasının tüm kullanıcıları Bir komut dosyasının, eklentinin veya web uygulamasının mevcut kullanıcısı Açık belgedeki bir eklentinin tüm kullanıcıları
Genellikle kullanıldığı yer 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 özgü ayarlar Yerleştirilmiş bir grafiğin kaynak URL'si gibi belgeye özgü veriler

Veri biçimi

Mülkler hizmeti, tüm verileri anahtar/değer çiftlerinde dize olarak depolar. Halihazırda dize olmayan veri türleri, kayıtlı nesnelerde bulunan yöntemler dahil olmak üzere otomatik olarak dizelere dönüştürülür.

Verileri kaydetme

Tek bir değeri kaydetmek için aşağıdaki örnekte gösterildiği gibi ilgili 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 Properties.setProperties(properties) değerine bir anahtar/değer çifti haritası gönderin. Parametredeki nesnenin her anahtar/değer çifti ayrı bir mülk 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) işlevini çağırı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);
}

Mevcut mülk mağazasındaki tüm değerleri almak için Properties.getProperties() çağrısını 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 yerine 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) işlevini ç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);
}

Mevcut mağazadaki tüm mülkleri silmek için Properties.deleteAllProperties() çağrısını 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 anahtar/değer çiftleri halinde en fazla elli özel özellik ekleyebilirsiniz. Elliden fazla mülk eklemek için Verileri kaydetme bölümünde açıklanan yöntemleri kullanarak bunları programatik olarak eklemeniz gerekir. Komut dosyası özelliklerini proje ayarları sayfasından ayarlarken komut dosyası değişkenlerine referans veremezsiniz.

Komut dosyası özellikleri ekleme

  1. Apps Komut Dosyası projenizi açın.
  2. Sol tarafta Proje Ayarları'nı Proje ayarlarının simgesi tıklayın.
  3. İlk mülkü 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 bölümünde 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 mülk 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üzenleme

  1. Apps Komut Dosyası projenizi açın.
  2. Sol tarafta Proje Ayarları'nı Proje ayarlarının simgesi tıklayın.
  3. Komut dosyası özellikleri bölümünde Komut dosyası özelliklerini düzenle'yi tıklayın.
  4. Değiştirmek istediğiniz her mülkün anahtar adı ve anahtar değerinde değişiklik yapın.
  5. Komut dosyası özelliklerini kaydet'i tıklayın.

Komut dosyası özelliklerini silme

  1. Apps Komut Dosyası projenizi açın.
  2. Sol tarafta Proje Ayarları'nı Proje ayarlarının simgesi tıklayın.
  3. Komut dosyası özellikleri bölümünde 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.