บริการขั้นสูงของ Google

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

หากต้องการดูว่า Google API ใดบ้างที่พร้อมให้บริการเป็นบริการขั้นสูง ให้มองหาส่วนบริการขั้นสูงของ Google ในข้อมูลอ้างอิง หากต้องการใช้ Google API ที่ไม่ใช่บริการขั้นสูง ให้เชื่อมต่อกับ API ดังกล่าวเหมือนAPI ภายนอกอื่นๆ

บริการขั้นสูงหรือ HTTP

บริการขั้นสูงของ Google แต่ละรายการจะเชื่อมโยงกับ Google API สาธารณะ ใน Apps Script คุณสามารถเข้าถึง API เหล่านี้ผ่านบริการขั้นสูง หรือเพียงแค่ส่งคําขอ API โดยตรงโดยใช้ UrlFetch

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

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

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

ข้อกำหนด

คุณต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้จึงจะใช้บริการขั้นสูงได้

  1. คุณต้องเปิดใช้บริการขั้นสูงในโปรเจ็กต์สคริปต์
  2. คุณต้องตรวจสอบว่าได้เปิดใช้ API ที่เกี่ยวข้องกับบริการขั้นสูงในโปรเจ็กต์ Cloud Platform (GCP) ที่ใช้สคริปต์

    หากโปรเจ็กต์สคริปต์ใช้โปรเจ็กต์ GCP เริ่มต้นที่สร้างขึ้นตั้งแต่วันที่ 8 เมษายน 2019 เป็นต้นไป ระบบจะเปิดใช้ API โดยอัตโนมัติหลังจากที่คุณเปิดใช้บริการขั้นสูงและบันทึกโปรเจ็กต์สคริปต์ ระบบอาจขอให้คุณยอมรับข้อกำหนดในการให้บริการของ Google Cloud และ Google APIs ด้วย หากยังไม่ได้ดำเนินการดังกล่าว

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

ดูข้อมูลเพิ่มเติมได้ในโปรเจ็กต์ Cloud Platform

เปิดใช้บริการขั้นสูง

หากต้องการใช้บริการขั้นสูงของ Google ให้ทำตามวิธีการต่อไปนี้

  1. เปิดโปรเจ็กต์ Apps Script
  2. คลิกตัดต่อวิดีโอ ทางด้านซ้าย
  3. ทางด้านซ้าย ให้คลิกเพิ่มบริการ ข้างบริการ
  4. เลือกบริการขั้นสูงของ Google แล้วคลิกเพิ่ม

หลังจากเปิดใช้บริการขั้นสูงแล้ว บริการดังกล่าวจะปรากฏในการเติมข้อความอัตโนมัติ

วิธีกำหนดลายเซ็นเมธอด

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

คำขอไปยัง Google API ยอมรับข้อมูลประเภทต่างๆ ได้มากมาย ซึ่งรวมถึงพารามิเตอร์เส้นทาง พารามิเตอร์การค้นหา เนื้อหาคำขอ และ/หรือไฟล์แนบการอัปโหลดสื่อ บริการขั้นสูงบางรายการยังยอมรับส่วนหัวคำขอ HTTP ที่เฉพาะเจาะจงได้ด้วย (เช่น บริการขั้นสูงของปฏิทิน)

ลายเซ็นเมธอดที่เกี่ยวข้องใน Google Apps Script มีข้อโต้แย้งต่อไปนี้

  1. เนื้อความของคำขอ (มักเป็นทรัพยากร) ในรูปแบบออบเจ็กต์ JavaScript
  2. เส้นทางหรือพารามิเตอร์ที่ต้องระบุเป็นอาร์กิวเมนต์แต่ละรายการ
  3. ไฟล์แนบการอัปโหลดสื่อเป็นBlob อาร์กิวเมนต์
  4. พารามิเตอร์ที่ไม่บังคับ ในรูปแบบออบเจ็กต์ JavaScript ที่แมปชื่อพารามิเตอร์กับค่า
  5. ส่วนหัวคำขอ HTTP ในรูปแบบออบเจ็กต์ JavaScript ที่แมปชื่อส่วนหัวกับค่าส่วนหัว

หากเมธอดไม่มีรายการใดในหมวดหมู่หนึ่งๆ ระบบจะไม่ใส่ลายเซ็นส่วนนั้น

ข้อยกเว้นพิเศษที่ควรทราบมีดังนี้

  • สําหรับวิธีการที่ยอมรับการอัปโหลดสื่อ ระบบจะตั้งค่าพารามิเตอร์ uploadType โดยอัตโนมัติ
  • เมธอดที่มีชื่อว่า delete ใน Google API จะมีชื่อว่า remove ใน Apps Script เนื่องจาก delete เป็นคําที่สงวนไว้ใน JavaScript
  • หากกำหนดค่าบริการขั้นสูงให้ยอมรับส่วนหัวคำขอ HTTP และคุณตั้งค่าออบเจ็กต์ JavaScript ของส่วนหัวคำขอ คุณต้องตั้งค่าออบเจ็กต์ JavaScript ของพารามิเตอร์ที่ไม่บังคับด้วย (เป็นออบเจ็กต์ว่างหากคุณไม่ได้ใช้พารามิเตอร์ที่ไม่บังคับ)

การรองรับบริการขั้นสูง

บริการขั้นสูงเป็นเพียงเครื่องมือบรรทัดแรกแบบบางๆ ที่ช่วยให้ใช้ Google API ภายใน Apps Script ได้ ดังนั้น ปัญหาที่พบขณะใช้มักเป็นปัญหาเกี่ยวกับ API ที่เกี่ยวข้อง ไม่ใช่ปัญหาเกี่ยวกับ Apps Script เอง

หากพบปัญหาขณะใช้บริการขั้นสูง คุณควรรายงานปัญหาโดยใช้วิธีการขอรับการสนับสนุนสําหรับ API ที่เกี่ยวข้อง ลิงก์ไปยังวิธีการสนับสนุนเหล่านี้มีอยู่ในคู่มือบริการขั้นสูงแต่ละคู่มือในส่วนข้อมูลอ้างอิงของ Apps Script