إذا أنشأت واجهة مستخدم للنص البرمجي، يمكنك نشر هذا النص البرمجي تطبيق الويب. على سبيل المثال، يمكن استخدام نص برمجي يتيح للمستخدمين جدولة المواعيد مع من الأفضل تقديم أعضاء فريق الدعم كتطبيق ويب بحيث يمكن للمستخدمين الدخول إليها مباشرةً من المتصفحات.
كل من النصوص البرمجية المستقلة النصوص البرمجية المرتبطة Google Workspace بالتطبيقات يمكن تحويلها إلى تطبيقات الويب، شرط أن تستوفي المتطلبات المذكورة أدناه.
متطلبات تطبيقات الويب
يمكن نشر نص برمجي كتطبيق ويب في حال استيفائه المتطلبات التالية:
- يحتوي على الدالة
doGet(e)
أوdoPost(e)
. - تعرض الدالة خدمة HTML
كائن
HtmlOutput
أو خدمة المحتوى عنصرTextOutput
.
معلمات الطلب
عندما يزور أحد المستخدمين تطبيقًا أو يرسل برنامج ما إلى التطبيق طلب HTTP GET
،
وتشغِّل "برمجة تطبيقات Google" الدالة doGet(e)
. عندما يرسل أحد البرامج إلى التطبيق بروتوكول HTTP
طلب POST
، تعمل "برمجة التطبيقات" على تشغيل doPost(e)
بدلاً من ذلك. وفي كلتا الحالتين، لا شك في أن e
تمثل الوسيطة معلمة حدث يمكن أن تحتوي على معلومات حول أي
معلمات الطلب. يتم عرض بنية كائن الحدث في الجدول
أدناه:
الحقول | |
---|---|
e.queryString |
قيمة الجزء الخاص بسلسلة طلب البحث من عنوان URL، أو قيمة name=alice&n=1&n=2 |
e.parameter |
كائن من أزواج المفتاح/القيمة يتوافق مع معلَمات الطلب. يتم عرض القيمة الأولى فقط للمعلمات التي تحتوي على قيم متعددة. {"name": "alice", "n": "1"} |
e.parameters |
كائن مشابه لـ {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
مسار عنوان URL بعد |
e.contextPath |
لا تُستخدم، تكون السلسلة الفارغة دائمًا. |
e.contentLength |
طول نص الطلب لطلبات POST أو 332 |
e.postData.length |
هذه القيمة تساوي 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
}
نشر نص برمجي كتطبيق ويب
لنشر نص برمجي كتطبيق ويب، اتّبِع الخطوات التالية:
- في أعلى يسار مشروع النص البرمجي، انقر على نشر > عملية نشر جديدة:
- بجانب "اختيار النوع"، انقر على "تفعيل أنواع النشر". تطبيق الويب:
- أدخِل معلومات تطبيق الويب في الحقول ضمن "النشر". التصميم".
- انقر على نشر.
يمكنك مشاركة عنوان URL لتطبيق الويب مع من تريد استخدام تطبيقك. بشرط أن تمنحهم إذن الوصول.
اختبار نشر تطبيق الويب
لاختبار النص البرمجي كتطبيق ويب، اتّبع الخطوات التالية:
- في أعلى يسار مشروع النص البرمجي، انقر على نشر > اختبار عمليات النشر.
- بجانب "اختيار النوع"، انقر على "تفعيل أنواع النشر". > تطبيق الويب:
- ضمن عنوان URL لتطبيق الويب، انقر على نسخ.
ألصِق عنوان URL في المتصفّح واختبِر تطبيق الويب.
ينتهي عنوان URL هذا بـ
/dev
ولا يمكن الوصول إليه إلا من خلال المستخدمين الذين لديهم الإذن بتعديل المحتوى. إلى النص. دائمًا ما يشغّل هذا المثيل من التطبيق أحدث العناصر المحفوظة الرمز وهو مخصّص للاختبار أثناء التطوير فقط.
الأذونات
تختلف أذونات تطبيق الويب حسب طريقة التنفيذ التي تختارها. التطبيق:
- تنفيذ التطبيق باسمي: في هذه الحالة، يتم تنفيذ النص البرمجي دائمًا. وبصفتك مالك النص البرمجي، بصرف النظر عن من يدخل إلى تطبيق الويب.
- تنفيذ التطبيق كمستخدم يصل إلى تطبيق الويب: في هذه الحالة، لن يكون النص البرمجي تحت هوية المستخدم النشط الذي يستخدم تطبيق الويب. هذا الإذن إلى عرض تطبيق الويب للبريد الإلكتروني لمالك النص البرمجي عندما يعرض المستخدم يسمح بالوصول.
تضمين تطبيق الويب في "مواقع Google"
لتضمين تطبيق ويب في "مواقع Google"، يجب أولاً أن يكون:
النشر. يمكنك أيضًا
إلى عنوان URL المنشور من مربع الحوار Deploy
.
لتضمين تطبيق ويب في مواقع Google اتبع الخطوات التالية:
- افتح صفحة "المواقع" التي تريد إضافة تطبيق الويب إليها.
- حدد إدراج > تضمين عنوان URL
- الصِق عنوان URL لتطبيق الويب، ثم انقر على إضافة.
يظهر تطبيق الويب في إطار في معاينة الصفحة. عند النشر قد يحتاج مشاهدو موقعك إلى مصادقة تطبيق الويب قبل ينفذ بشكل طبيعي. تقدم تطبيقات الويب غير المصرّح بها طلبات الإذن إلى المستخدم.
تطبيقات الويب وسجلّ المتصفّح
قد يكون من الرغبة في استخدام تطبيق ويب لبرمجة التطبيقات يحاكي صفحات متعددة أو تطبيق يحتوي على واجهة مستخدم ديناميكية يتم التحكم فيها من خلال مَعلمات عناوين URL. ولإجراء ذلك بشكل جيد، يمكنك تحديد كائن حالة لتمثيل واجهة المستخدم أو الصفحة، وادفع الحالة إلى سجلّ المتصفح المستخدم في تطبيقك. يمكنك أيضًا الاستماع إلى أحداث السجل حتى يتمكن الويب يعرض التطبيق واجهة المستخدم الصحيحة عندما يتنقل المستخدم ذهابًا وإيابًا باستخدام أزرار المتصفح. من خلال إجراء طلب بحث عن معلمات عناوين URL في وقت التحميل، يمكنك الحصول على تطبيقك ديناميكيًا واجهة المستخدم استنادًا إلى هذه المعايير، مما يتيح للمستخدم بدء تشغيل التطبيق في حالة معينة.
توفّر "برمجة التطبيقات" واجهتَي برمجة تطبيقات JavaScript غير متزامنتين من جهة العميل للمساعدة. مع إنشاء تطبيقات ويب مرتبطة بسجلّ المتصفح:
google.script.history
توفّر طرقًا للسماح بالاستجابة الديناميكية للتغييرات في سجلّ المتصفّح. هذا النمط يتضمن: دفع الحالات (الكائنات البسيطة التي يمكنك تحديدها) على المتصفح التاريخ، واستبدال الحالة الأولى في حزمة السجلّ، وضبط أداة استماع للاستجابة لتغييرات السجل.يوفّر
google.script.url
وسيلة استرداد معلمات عنوان URL للصفحة الحالية وجزء عنوان URL، إذا وجودهم.
لا تتوفّر واجهات برمجة تطبيقات السجلّ هذه إلا لتطبيقات الويب. لا يتم تضمينها المدعومة للأشرطة الجانبية أو مربعات الحوار أو الوظائف الإضافية. هذه الوظيفة أيضًا لا يُنصح باستخدامها في تطبيقات الويب المضمّنة في "مواقع Google".