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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

لعرض الحصص اليومية وحدود التخزين لخدمة "المواقع"، يُرجى الاطِّلاع على حصص خدمات 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. انقر على حفظ خصائص النص البرمجي.