การตั้งค่าโปรเจ็กต์ Apps Script เพื่อเรียกใช้ Google Forms API โดยตรงผ่านคําเรียก REST นั้นทําได้ง่ายๆ สมมติว่าคุณได้กําหนดค่าโปรเจ็กต์ Google Cloud ไว้แล้ว ให้ทําดังนี้
- สร้างโปรเจ็กต์ Apps Script ใหม่
- เปลี่ยนหมายเลขโปรเจ็กต์ Google Cloud ที่เชื่อมโยงให้ตรงกับโปรเจ็กต์ที่คุณเปิดใช้ Google Forms API
- แก้ไขไฟล์ Manifest (
appsscript.json
) เพื่อเพิ่มขอบเขต OAuth ที่จําเป็น - เพิ่มโค้ด Apps Script เพื่อดึงข้อมูลโทเค็น OAuth และทำการเรียก REST โดยใช้โทเค็น
คำแนะนำโดยย่อสำหรับขั้นตอนเหล่านี้มีดังนี้
สร้างและกำหนดค่าโปรเจ็กต์ Apps Script ใหม่
- ใช้รหัส Google เดียวกับที่คุณกำหนดค่าโปรเจ็กต์ GCP แล้วไปที่แดชบอร์ด Apps Script จากนั้นคลิกโปรเจ็กต์ใหม่
- เมื่อโปรเจ็กต์เปิดขึ้นแล้ว ให้คลิก การตั้งค่าโปรเจ็กต์
- เลือกช่องทําเครื่องหมายแสดงไฟล์ Manifest "appsscript.json" ในเครื่องมือแก้ไข
- ในส่วนโปรเจ็กต์ Google Cloud Platform (GCP) ให้คลิกเปลี่ยนโปรเจ็กต์ แล้วป้อนหมายเลขโปรเจ็กต์ GCP ที่คุณกําหนดค่าไว้สําหรับ Forms API
ตอนนี้โปรเจ็กต์ Apps Script ของคุณได้รับการกําหนดค่าให้เข้าถึง Google Forms API แล้ว ขั้นตอนถัดไปที่จําเป็นคือการเพิ่มขอบเขต OAuth ที่เหมาะสม
เพิ่มขอบเขต OAuth
หากต้องการสร้างโทเค็น OAuth ที่มีขอบเขตเหมาะสมใน Apps Script คุณต้องตั้งค่าขอบเขตที่จําเป็นในไฟล์ Manifest ของโปรเจ็กต์
- เปิด
appsscript.json
ในเครื่องมือแก้ไข เพิ่มขอบเขตลงในเนื้อหาของไฟล์ Manifest
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }
คลิก
บันทึกโปรเจ็กต์และแก้ไขข้อผิดพลาดเกี่ยวกับไวยากรณ์หากจำเป็น ตอนนี้โปรเจ็กต์ของคุณควรเรียกใช้ Google Forms API ผ่านการเรียก REST ได้
เพิ่มโค้ด Apps Script เพื่อเรียกใช้ API
ก่อนเขียนโค้ดเพื่อเรียกใช้แบบฟอร์ม คุณต้องระบุแบบฟอร์มที่คุณเป็นเจ้าของซึ่งมีคําตอบและจดบันทึกรหัสแบบฟอร์ม รหัสแบบฟอร์มจะอยู่ใน URL เมื่อแก้ไขแบบฟอร์ม
https://docs.google.com/forms/d/<FORM_ID>/edit
หากต้องการเรียก API คุณจะใช้การเรียก UrlFetchApp
ของ Apps Script
เปิด Code.gs แล้วเพิ่มโค้ดต่อไปนี้
แทนที่
YOUR_FORM_ID
ด้วยค่าที่คุณจดไว้ก่อนหน้านี้ตัวอย่าง:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';
คลิก
บันทึกโปรเจ็กต์ แล้วแก้ไขข้อผิดพลาดเกี่ยวกับไวยากรณ์หากจำเป็น
ทดสอบโค้ด
- คลิก Run
- ให้ให้สิทธิ์โปรเจ็กต์ตามที่จำเป็นโดยใช้รหัส Google เดียวกันกับก่อนหน้านี้
เมื่อเริ่มแล้ว คุณควรเห็นการตอบกลับในบันทึกการดำเนินการคล้ายกับตัวอย่างต่อไปนี้
Execution started Calling the Forms API! OAuth token is: ya29.a0ARrdaM8IMjtlv… formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses Response from Forms.responses was: { "responses": [ { "responseId":"...", "createTime": "2021-03-25T01:23:58.146Z", "lastSubmittedTime": "2021-03-25T01:23:58.146607Z", "answers": { "1e9b0ead": { "questionId": "1e9b0ead", "textAnswers": { "answers": [ { "value": "Red" } ] } }, "773ed8f3": { "questionId": "773ed8f3", "textAnswers": { "answers": [ { "value": "Tesla" } ] } } } } ] } Execution completed
ขั้นตอนถัดไป
เมื่อเรียก API ด้วย Apps Script เรียบร้อยแล้ว ให้ดูเอกสารอ้างอิงและลองเรียก API อื่นๆ