प्रॉपर्टी सेवा

प्रॉपर्टी सेवा की मदद से, सामान्य डेटा को एक स्क्रिप्ट, स्क्रिप्ट के एक उपयोगकर्ता या एक ऐसे दस्तावेज़ में सेव किया जा सकता है जिसमें ऐड-ऑन का इस्तेमाल किया जाता है. आम तौर पर, इसका इस्तेमाल डेवलपर कॉन्फ़िगरेशन या उपयोगकर्ता की प्राथमिकताओं को सेव करने के लिए किया जाता है. प्रॉपर्टी को स्क्रिप्ट के बीच कभी शेयर नहीं किया जाता.

प्रॉपर्टी से जुड़ी सेवाओं के लिए, हर दिन का कोटा और स्टोरेज की सीमाएं देखने के लिए, Google की सेवाओं के लिए कोटा देखें.

प्रॉपर्टी स्टोर की तुलना

PropertiesService ग्लोबल ऑब्जेक्ट तीन तरीके देता है. इनमें से हर एक तरीका एक जैसा Properties ऑब्जेक्ट दिखाता है, लेकिन ऐक्सेस के अलग-अलग अधिकार मिलते हैं, जैसा कि इस टेबल में दिखाया गया है:

स्क्रिप्ट गुण उपयोगकर्ता प्रॉपर्टी दस्तावेज़ गुण
ऐक्सेस करने का तरीका getScriptProperties() getUserProperties() getDocumentProperties()
इनके बीच डेटा शेयर किया गया किसी स्क्रिप्ट, ऐड-ऑन या वेब ऐप्लिकेशन के सभी उपयोगकर्ता किसी स्क्रिप्ट, ऐड-ऑन या वेब ऐप्लिकेशन का मौजूदा उपयोगकर्ता खुले हुए दस्तावेज़ में ऐड-ऑन के सभी उपयोगकर्ता
आम तौर पर इनके लिए इस्तेमाल होता है पूरे ऐप्लिकेशन का कॉन्फ़िगरेशन डेटा, जैसे कि डेवलपर के बाहरी डेटाबेस का उपयोगकर्ता नाम और पासवर्ड उपयोगकर्ता के हिसाब से सेटिंग, जैसे कि मेट्रिक या इंपीरियल यूनिट दस्तावेज़ से जुड़ा डेटा, जैसे कि एम्बेड किए गए चार्ट का सोर्स यूआरएल

डेटा फ़ॉर्मैट

प्रॉपर्टी सेवा, सभी डेटा को की-वैल्यू पेयर में स्ट्रिंग के तौर पर सेव करती है. जो डेटा टाइप पहले से स्ट्रिंग नहीं हैं वे अपने-आप स्ट्रिंग में बदल जाते हैं. इनमें, सेव किए गए ऑब्जेक्ट में मौजूद तरीके भी शामिल हैं.

डेटा सेव किया जा रहा है

किसी एक वैल्यू को सेव करने के लिए, सही स्टोर के तरीके Properties.setProperty(key, value) को कॉल करें, जैसा कि इस उदाहरण में दिखाया गया है:

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

एक साथ डेटा सेव करने के लिए, की-वैल्यू पेयर के मैप को Properties.setProperties(properties) पर पास करें. पैरामीटर में, ऑब्जेक्ट के हर की-वैल्यू पेयर को एक अलग प्रॉपर्टी के तौर पर सेव किया जाता है:

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

पढ़ने से जुड़ा डेटा

पहले से सेव की गई किसी वैल्यू को वापस पाने के लिए, 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);
}

मौजूदा प्रॉपर्टी स्टोर में सभी वैल्यू वापस पाने के लिए, 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);
}

डेटा में बदलाव किया जा रहा है

getProperty() और getProperties() तरीके, सेव किए गए डेटा की कॉपी दिखाते हैं, न कि लाइव व्यू की. इसलिए, ऑब्जेक्ट को बदलने पर प्रॉपर्टी स्टोर में वैल्यू अपडेट नहीं होगी. स्टोर में डेटा अपडेट करने के लिए, बस इसे फिर से सेव करें:

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

डेटा हटाना

कोई एक वैल्यू मिटाने के लिए, 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);
}

मौजूदा स्टोर की सभी प्रॉपर्टी मिटाने के लिए, 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);
}

स्क्रिप्ट प्रॉपर्टी को मैन्युअल रूप से मैनेज करना

प्रोजेक्ट के सेटिंग पेज पर जाकर, की-वैल्यू पेयर में स्ट्रिंग के तौर पर ज़्यादा से ज़्यादा पचास कस्टम प्रॉपर्टी मैन्युअल तौर पर जोड़ी जा सकती हैं. पचास से ज़्यादा प्रॉपर्टी जोड़ने के लिए, आपको ऊपर डेटा सेव करना में बताए गए तरीकों का इस्तेमाल करके उन्हें प्रोग्राम के ज़रिए जोड़ना होगा. प्रोजेक्ट सेटिंग पेज से स्क्रिप्ट प्रॉपर्टी सेट करने पर, स्क्रिप्ट वैरिएबल का रेफ़रंस नहीं दिया जा सकता.

स्क्रिप्ट प्रॉपर्टी जोड़ें

  1. अपना Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, प्रोजेक्ट सेटिंग प्रोजेक्ट सेटिंग का आइकॉन पर क्लिक करें.
  3. पहली प्रॉपर्टी जोड़ने के लिए, स्क्रिप्ट प्रॉपर्टी में जाकर स्क्रिप्ट प्रॉपर्टी जोड़ें पर क्लिक करें.
  4. दूसरी और उसके बाद की प्रॉपर्टी जोड़ने के लिए, स्क्रिप्ट प्रॉपर्टी में जाकर स्क्रिप्ट प्रॉपर्टी में बदलाव करें > स्क्रिप्ट प्रॉपर्टी जोड़ें पर क्लिक करें.
  5. प्रॉपर्टी के लिए, कुंजी का नाम डालें.
  6. वैल्यू के लिए, कुंजी की वैल्यू डालें.
  7. (ज़रूरी नहीं) ज़्यादा प्रॉपर्टी जोड़ने के लिए, स्क्रिप्ट प्रॉपर्टी जोड़ें पर क्लिक करें.
  8. स्क्रिप्ट प्रॉपर्टी सेव करें पर क्लिक करें.

स्क्रिप्ट की प्रॉपर्टी में बदलाव करें

  1. अपना Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, प्रोजेक्ट सेटिंग प्रोजेक्ट सेटिंग का आइकॉन पर क्लिक करें.
  3. स्क्रिप्ट प्रॉपर्टी में जाकर, स्क्रिप्ट प्रॉपर्टी में बदलाव करें पर क्लिक करें.
  4. हर उस प्रॉपर्टी के मुख्य नाम और मुख्य वैल्यू में बदलाव करें जिसे बदलना है.
  5. स्क्रिप्ट प्रॉपर्टी सेव करें पर क्लिक करें.

स्क्रिप्ट प्रॉपर्टी मिटाएं

  1. अपना Apps Script प्रोजेक्ट खोलें.
  2. बाईं ओर, प्रोजेक्ट सेटिंग प्रोजेक्ट सेटिंग का आइकॉन पर क्लिक करें.
  3. स्क्रिप्ट प्रॉपर्टी में जाकर, स्क्रिप्ट प्रॉपर्टी में बदलाव करें पर क्लिक करें.
  4. जिस प्रॉपर्टी को मिटाना है उसके बगल में मौजूद, हटाएं पर क्लिक करें.
  5. स्क्रिप्ट प्रॉपर्टी सेव करें पर क्लिक करें.