เว็บแอป

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

หากสร้างอินเทอร์เฟซผู้ใช้สําหรับสคริปต์ คุณก็สามารถเผยแพร่สคริปต์เป็นเว็บแอปได้ เช่น สคริปต์ที่ให้ผู้ใช้กําหนดเวลาการนัดหมายกับสมาชิกในทีมสนับสนุนที่ดีที่สุดจะแสดงเป็นเว็บแอป เพื่อให้ผู้ใช้สามารถเข้าถึงสคริปต์ได้โดยตรงจากเบราว์เซอร์

ทั้งสคริปต์แบบสแตนด์อโลนและสคริปต์ที่เชื่อมโยงกับ Google Workspace แอปพลิเคชันสามารถเปลี่ยนเป็นเว็บแอปพลิเคชันได้ ตราบใดที่ตรงตามข้อกําหนดด้านล่าง

ข้อกําหนดสําหรับเว็บแอป

คุณสามารถเผยแพร่สคริปต์เป็นเว็บแอปได้หากเป็นไปตามข้อกําหนดเหล่านี้

พารามิเตอร์คําขอ

เมื่อผู้ใช้เข้าชมแอปหรือโปรแกรมจะส่งคําขอ HTTP GET ไปยังแอป สคริปต์ของ Apps จะเรียกใช้ฟังก์ชัน doGet(e) เมื่อโปรแกรมส่งคําขอ HTTP POST ไปยัง Apps Script จะเรียกใช้ 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 HtmlService.createHtmlOutput(params);
}

ในตัวอย่างข้างต้น 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. &"เลือกประเภท &&tt; คลิกประเภทการติดตั้งใช้งาน > เว็บแอป
  3. ใต้ URL ของเว็บแอป ให้คลิกคัดลอก
  4. วาง URL ในเบราว์เซอร์และทดสอบเว็บแอป

    URL นี้ลงท้ายด้วย /dev และจะเข้าถึงได้เฉพาะผู้ใช้ที่มีสิทธิ์เข้าถึงสคริปต์เท่านั้น อินสแตนซ์ของแอปนี้จะเรียกใช้โค้ดที่บันทึกไว้ล่าสุดเสมอ และมีไว้สําหรับทดสอบระหว่างการพัฒนาเท่านั้น

สิทธิ์

สิทธิ์ของเว็บแอปจะแตกต่างกันไปขึ้นอยู่กับวิธีที่คุณเลือกเรียกใช้แอป

  • เรียกใช้แอปในฐานะฉัน ในกรณีนี้ สคริปต์จะเรียกใช้ตามที่คุณเป็นเจ้าของสคริปต์เสมอ ไม่ว่าใครจะเข้าถึงเว็บแอปก็ตาม
  • เรียกใช้แอปในฐานะผู้ใช้ที่เข้าถึงเว็บแอป ในกรณีนี้ สคริปต์จะทํางานภายใต้ข้อมูลประจําตัวของผู้ใช้ที่ใช้งานอยู่โดยใช้เว็บแอป แนวทางการให้สิทธิ์นี้ทําให้เว็บแอปแสดงอีเมลของเจ้าของสคริปต์เมื่อผู้ใช้ให้สิทธิ์เข้าถึง

การฝังเว็บแอปใน Google Sites

นอกจากนี้คุณยังฝังเว็บแอปได้ทั้งในคลาสสิกและGoogle Sites เวอร์ชันใหม่

การฝังเว็บแอปใน Sites แบบใหม่

คุณต้องทําให้แอปใช้งานได้เพื่อฝังเว็บแอป คุณต้องมี URL ที่ทําให้ใช้งานได้แล้วจากกล่องโต้ตอบ Deploy ด้วย

หากต้องการฝังเว็บแอปลงในหน้า Sites ใหม่ ให้ทําตามขั้นตอนต่อไปนี้

  1. เปิดหน้า "เว็บไซต์" ที่คุณต้องการเพิ่มเว็บแอป
  2. เลือกแทรกและgt ฝัง URL
  3. วาง URL ของเว็บแอป แล้วคลิกเพิ่ม

เว็บแอปจะปรากฏในเฟรมในหน้าตัวอย่างของหน้าเว็บ เมื่อคุณเผยแพร่หน้าเว็บ ผู้เข้าชมเว็บไซต์อาจต้องให้สิทธิ์เว็บแอปก่อนจะดําเนินการใดๆ ตามปกติ เว็บแอปที่ไม่ได้รับอนุญาตจะแสดงการให้สิทธิ์แก่ผู้ใช้

การฝังเว็บแอปใน Sites แบบคลาสสิก

คุณสามารถเชื่อมโยงสคริปต์กับเว็บไซต์จาก Google Sites แบบคลาสสิกได้ด้วยวิธีเดียวกันกับการเชื่อมสคริปต์กับ Google เอกสารหรือชีต หากต้องการสร้างสคริปต์ที่เชื่อมโยงกัน ให้ไปที่เว็บไซต์ คลิกไอคอนรูปเฟือง การตั้งค่า แล้วเลือกจัดการเว็บไซต์ ในหน้า "จัดการเว็บไซต์" ให้คลิกสคริปต์แอปในการนําทางด้านซ้าย แล้วคลิกปุ่มเพิ่มสคริปต์ใหม่ ซึ่งจะเปิดสคริปต์ใหม่ในเครื่องมือแก้ไข Apps Script ซึ่งคุณจะเขียนโค้ดและทําให้เว็บแอปใช้งานได้

คุณยังฝังเว็บแอปในหน้าเว็บได้ด้วย คุณสามารถเชื่อมโยงเว็บแอปกับเว็บไซต์ หรือจะใช้เว็บแอปที่มี URL ดังกล่าว หากต้องการฝังเว็บแอปลงในหน้า Google Sites ให้ทําตามขั้นตอนด้านล่าง

  1. เปิดเว็บไซต์ที่มีอยู่ซึ่งคุณมีสิทธิ์แก้ไขหรือสร้างเว็บไซต์ใหม่
  2. ไปที่หน้าเว็บในเว็บไซต์ที่คุณต้องการฝังเว็บแอป
  3. คลิกไอคอนแก้ไข แล้วคลิกแทรก > Google Apps Script
  4. เลือกสคริปต์จากรายการที่แสดงเว็บแอปของคุณ หากเว็บแอปไม่ได้ผูกกับเว็บไซต์นี้ คุณจะวาง URL ในเว็บแอปแทนได้
  5. คลิกปุ่มเลือก เลือกตัวเลือกที่ต้องการจากกล่องโต้ตอบถัดไป แล้วคลิกบันทึก
  6. บันทึกการเปลี่ยนแปลงในหน้า แล้วคุณจะเห็นเว็บแอปฝังอยู่ในหน้าเว็บไซต์

เว็บแอปและประวัติเบราว์เซอร์

ควรมีเว็บแอป Apps Script ที่จําลองแอปพลิเคชันที่มีหลายหน้า หรือมี UI แบบไดนามิกที่ควบคุมผ่านพารามิเตอร์ของ URL ในการดําเนินการนี้ได้ดี คุณอาจระบุออบเจ็กต์สถานะเพื่อแสดงถึง UI หรือหน้าของแอปและพุชสถานะไปยังประวัติการท่องเว็บขณะที่ผู้ใช้ไปยังส่วนต่างๆ ของแอป คุณยังฟังเหตุการณ์ประวัติเพื่อให้เว็บแอปแสดง UI ที่ถูกต้องเมื่อผู้ใช้ไปยังส่วนต่างๆ ด้วยปุ่มเบราว์เซอร์ได้อีกด้วย การค้นหาพารามิเตอร์ของ URL ขณะโหลดอาจทําให้แอปของคุณสร้าง UI แบบไดนามิกตามพารามิเตอร์เหล่านั้นเพื่อให้ผู้ใช้เริ่มต้นแอปได้ในสถานะที่ต้องการ

Apps Script มี JavaScript API ฝั่งไคลเอ็นต์แบบอะซิงโครนัส 2 รายการเพื่อช่วยสร้างเว็บแอปที่ลิงก์กับประวัติเบราว์เซอร์ ได้แก่

  • google.script.history มีวิธีในการอนุญาตการเปลี่ยนแปลงแบบไดนามิกต่อประวัติการท่องเว็บของเบราว์เซอร์ ซึ่งรวมถึง การพุชสถานะ (ออบเจ็กต์ง่ายๆ ที่คุณกําหนดได้) ลงในประวัติเบราว์เซอร์ การเปลี่ยนสถานะยอดนิยมในกลุ่มประวัติ และการตั้งค่าฟังก์ชันเรียกกลับของ Listener เพื่อตอบสนองต่อการเปลี่ยนแปลงประวัติ

  • google.script.url เป็นวิธีสําหรับเรียกพารามิเตอร์ของ URL และส่วนย่อยของ URL ของหน้าเว็บในปัจจุบัน หากมี

API ของประวัติเหล่านี้ใช้ได้กับเว็บแอปเท่านั้น โดยไม่รองรับแถบด้านข้าง กล่องโต้ตอบ หรือส่วนเสริม นอกจากนี้ เราไม่แนะนําให้ใช้ฟังก์ชันนี้ในเว็บแอปที่ฝังอยู่ใน Google Sites