خدمة المواقع

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

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

تعديل خصائص النص البرمجي

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

حذف خصائص النص البرمجي

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