خدمة المواقع

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

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