تطبيقات الويب

إذا أنشأت واجهة مستخدم للنص البرمجي، يمكنك نشر هذا النص البرمجي تطبيق الويب. على سبيل المثال، يمكن استخدام نص برمجي يتيح للمستخدمين جدولة المواعيد مع من الأفضل تقديم أعضاء فريق الدعم كتطبيق ويب بحيث يمكن للمستخدمين الدخول إليها مباشرةً من المتصفحات.

كل من النصوص البرمجية المستقلة النصوص البرمجية المرتبطة Google Workspace بالتطبيقات يمكن تحويلها إلى تطبيقات الويب، شرط أن تستوفي المتطلبات المذكورة أدناه.

متطلبات تطبيقات الويب

يمكن نشر نص برمجي كتطبيق ويب في حال استيفائه المتطلبات التالية:

معلمات الطلب

عندما يزور أحد المستخدمين تطبيقًا أو يرسل برنامج ما إلى التطبيق طلب HTTP GET، وتشغِّل "برمجة تطبيقات Google" الدالة doGet(e). عندما يرسل أحد البرامج إلى التطبيق بروتوكول HTTP طلب POST، تعمل "برمجة التطبيقات" على تشغيل doPost(e) بدلاً من ذلك. وفي كلتا الحالتين، لا شك في أن e تمثل الوسيطة معلمة حدث يمكن أن تحتوي على معلومات حول أي معلمات الطلب. يتم عرض بنية كائن الحدث في الجدول أدناه:

الحقول
e.queryString

قيمة الجزء الخاص بسلسلة طلب البحث من عنوان URL، أو قيمة null إذا لم يتم تحديد سلسلة طلب بحث

name=alice&n=1&n=2
e.parameter

كائن من أزواج المفتاح/القيمة يتوافق مع معلَمات الطلب. يتم عرض القيمة الأولى فقط للمعلمات التي تحتوي على قيم متعددة.

{"name": "alice", "n": "1"}
e.parameters

كائن مشابه لـ e.parameter، ولكن يتضمّن مصفوفة من القيم لكل مفتاح

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

مسار عنوان URL بعد /exec أو /dev. على سبيل المثال، إذا كان مسار عنوان URL ينتهي بـ /exec/hello، سيتم معلومات المسار هي hello.

e.contextPath لا تُستخدم، تكون السلسلة الفارغة دائمًا.
e.contentLength

طول نص الطلب لطلبات POST أو -1 لطلبات GET

332
e.postData.length

هذه القيمة تساوي e.contentLength.

332
e.postData.type

نوع MIME لنص POST

text/csv
e.postData.contents

نص محتوى نص طلب POST

Alice,21
e.postData.name

دائمًا ما يتم استخدام القيمة "postData"

postData

على سبيل المثال، يمكنك تمرير معلمات مثل username وage إلى عنوان URL كما هو موضّح أدناه:

https://script.google.com/.../exec?username=jsmith&age=21

بعد ذلك، يمكنك عرض المعلمات كما يلي:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

في المثال أعلاه، تعرض doGet(e) الإخراج التالي:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

نشر نص برمجي كتطبيق ويب

لنشر نص برمجي كتطبيق ويب، اتّبِع الخطوات التالية:

  1. في أعلى يسار مشروع النص البرمجي، انقر على نشر > عملية نشر جديدة:
  2. بجانب "اختيار النوع"، انقر على "تفعيل أنواع النشر". تطبيق الويب:
  3. أدخِل معلومات تطبيق الويب في الحقول ضمن "النشر". التصميم".
  4. انقر على نشر.

يمكنك مشاركة عنوان URL لتطبيق الويب مع من تريد استخدام تطبيقك. بشرط أن تمنحهم إذن الوصول.

اختبار نشر تطبيق الويب

لاختبار النص البرمجي كتطبيق ويب، اتّبع الخطوات التالية:

  1. في أعلى يسار مشروع النص البرمجي، انقر على نشر > اختبار عمليات النشر.
  2. بجانب "اختيار النوع"، انقر على "تفعيل أنواع النشر". > تطبيق الويب:
  3. ضمن عنوان URL لتطبيق الويب، انقر على نسخ.
  4. ألصِق عنوان URL في المتصفّح واختبِر تطبيق الويب.

    ينتهي عنوان URL هذا بـ /dev ولا يمكن الوصول إليه إلا من خلال المستخدمين الذين لديهم الإذن بتعديل المحتوى. إلى النص. دائمًا ما يشغّل هذا المثيل من التطبيق أحدث العناصر المحفوظة الرمز وهو مخصّص للاختبار أثناء التطوير فقط.

الأذونات

تختلف أذونات تطبيق الويب حسب طريقة التنفيذ التي تختارها. التطبيق:

  • تنفيذ التطبيق باسمي: في هذه الحالة، يتم تنفيذ النص البرمجي دائمًا. وبصفتك مالك النص البرمجي، بصرف النظر عن من يدخل إلى تطبيق الويب.
  • تنفيذ التطبيق كمستخدم يصل إلى تطبيق الويب: في هذه الحالة، لن يكون النص البرمجي تحت هوية المستخدم النشط الذي يستخدم تطبيق الويب. هذا الإذن إلى عرض تطبيق الويب للبريد الإلكتروني لمالك النص البرمجي عندما يعرض المستخدم يسمح بالوصول.

تضمين تطبيق الويب في "مواقع Google"

لتضمين تطبيق ويب في "مواقع Google"، يجب أولاً أن يكون: النشر. يمكنك أيضًا إلى عنوان URL المنشور من مربع الحوار Deploy.

لتضمين تطبيق ويب في مواقع Google اتبع الخطوات التالية:

  1. افتح صفحة "المواقع" التي تريد إضافة تطبيق الويب إليها.
  2. حدد إدراج > تضمين عنوان URL
  3. الصِق عنوان URL لتطبيق الويب، ثم انقر على إضافة.

يظهر تطبيق الويب في إطار في معاينة الصفحة. عند النشر قد يحتاج مشاهدو موقعك إلى مصادقة تطبيق الويب قبل ينفذ بشكل طبيعي. تقدم تطبيقات الويب غير المصرّح بها طلبات الإذن إلى المستخدم.

تطبيقات الويب وسجلّ المتصفّح

قد يكون من الرغبة في استخدام تطبيق ويب لبرمجة التطبيقات يحاكي صفحات متعددة أو تطبيق يحتوي على واجهة مستخدم ديناميكية يتم التحكم فيها من خلال مَعلمات عناوين URL. ولإجراء ذلك بشكل جيد، يمكنك تحديد كائن حالة لتمثيل واجهة المستخدم أو الصفحة، وادفع الحالة إلى سجلّ المتصفح المستخدم في تطبيقك. يمكنك أيضًا الاستماع إلى أحداث السجل حتى يتمكن الويب يعرض التطبيق واجهة المستخدم الصحيحة عندما يتنقل المستخدم ذهابًا وإيابًا باستخدام أزرار المتصفح. من خلال إجراء طلب بحث عن معلمات عناوين URL في وقت التحميل، يمكنك الحصول على تطبيقك ديناميكيًا واجهة المستخدم استنادًا إلى هذه المعايير، مما يتيح للمستخدم بدء تشغيل التطبيق في حالة معينة.

توفّر "برمجة التطبيقات" واجهتَي برمجة تطبيقات JavaScript غير متزامنتين من جهة العميل للمساعدة. مع إنشاء تطبيقات ويب مرتبطة بسجلّ المتصفح:

  • google.script.history توفّر طرقًا للسماح بالاستجابة الديناميكية للتغييرات في سجلّ المتصفّح. هذا النمط يتضمن: دفع الحالات (الكائنات البسيطة التي يمكنك تحديدها) على المتصفح التاريخ، واستبدال الحالة الأولى في حزمة السجلّ، وضبط أداة استماع للاستجابة لتغييرات السجل.

  • يوفّر google.script.url وسيلة استرداد معلمات عنوان URL للصفحة الحالية وجزء عنوان URL، إذا وجودهم.

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