خدمة العقارات

تتيح لك خدمة الخصائص تخزين بيانات بسيطة في أزواج مفاتيح/قيم محددة لنص برمجي واحد أو مستخدم واحد لنص برمجي أو مستند واحد يتم فيه استخدام إضافة. ويتم استخدامه عادةً لتخزين إعدادات مطوّر البرامج أو إعدادات المستخدم المفضّلة. لا تتم مشاركة الخصائص أبدًا بين النصوص البرمجية.

للاطّلاع على الحصص اليومية وحدود مساحة التخزين لخدمة "المواقع"، راجِع حصص خدمات Google.

مقارنة بين متاجر العقارات

يقدّم الكائن العمومي PropertiesService ثلاث طرق، تعرض كل طريقة منها كائن Properties مشابهًا ولكن مع حقوق وصول مختلفة، كما هو موضّح في الجدول التالي:

خصائص النص البرمجي خصائص المستخدِمين خصائص المستند
طريقة الوصول إلى البيانات getScriptProperties() getUserProperties() getDocumentProperties()
البيانات التي تتم مشاركتها بين جميع مستخدمي نص برمجي أو إضافة أو تطبيق ويب المستخدم الحالي لنص برمجي أو إضافة أو تطبيق ويب جميع مستخدمي إضافة في المستند المفتوح
تُستخدم عادةً مع بيانات الضبط على مستوى التطبيق، مثل اسم المستخدم وكلمة المرور لقاعدة البيانات الخارجية لمطوّر البرامج الإعدادات الخاصة بالمستخدم، مثل الوحدات المترية أو الإمبراطورية البيانات الخاصة بالمستند، مثل عنوان URL المصدر لرسم بياني مضمّن

تنسيق البيانات

تخزن خدمة الخصائص جميع البيانات كسلاسل في أزواج المفتاح/القيمة. يتم تلقائيًا تحويل أنواع البيانات التي ليست سلاسل بالفعل إلى سلاسل، بما في ذلك الطرق الموجودة داخل الكائنات المحفوظة.

جارٍ حفظ البيانات

لحفظ قيمة واحدة، استدعِ الطريقة 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. افتح مشروع "برمجة التطبيقات".
  2. على يمين الصفحة، انقر على إعدادات المشروع أيقونة إعدادات المشروع.
  3. لإضافة الموقع الأول، ضمن خصائص النص البرمجي، انقر على إضافة خاصية النص البرمجي.
  4. لإضافة المواقع الثانية والمواقع الإلكترونية اللاحقة، ضمن خصائص النص البرمجي، انقر على تعديل خصائص النص البرمجي > إضافة موقع النص البرمجي.
  5. بالنسبة إلى الموقع، أدخِل اسم المفتاح.
  6. بالنسبة إلى القيمة، أدخِل قيمة المفتاح.
  7. (اختياري) لإضافة المزيد من المواقع، انقر على إضافة موقع النص البرمجي.
  8. انقر على حفظ مواقع النص البرمجي.

تعديل مواقع النص البرمجي

  1. افتح مشروع "برمجة التطبيقات".
  2. على يمين الصفحة، انقر على إعدادات المشروع أيقونة إعدادات المشروع.
  3. ضمن خصائص النص البرمجي، انقر على تعديل خصائص النص البرمجي.
  4. أجرِ تغييرات على اسم المفتاح وقيمة المفتاح لكل خاصية تريد تغييرها.
  5. انقر على حفظ مواقع النص البرمجي.

حذف مواقع النص البرمجي

  1. افتح مشروع "برمجة التطبيقات".
  2. على يمين الصفحة، انقر على إعدادات المشروع أيقونة إعدادات المشروع.
  3. ضمن خصائص النص البرمجي، انقر على تعديل خصائص النص البرمجي.
  4. بجانب الموقع الإلكتروني الذي تريد حذفه، انقر على رمز الإزالة .
  5. انقر على حفظ مواقع النص البرمجي.