การใช้ฟังก์ชัน Apps Script

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

ตัวอย่างในหน้านี้จะแสดงวิธีดำเนินการการดำเนินการทั่วไปเมื่อใช้ API ดูข้อมูลเพิ่มเติมรวมถึงข้อกำหนดในการให้สิทธิ์พิเศษได้ที่คู่มือการใช้งานฟังก์ชัน

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

  1. ในโปรเจ็กต์ Apps Script ให้คลิกการตั้งค่าโปรเจ็กต์ที่ด้านซ้ายบน
  2. คลิกคัดลอกข้าง "รหัสสคริปต์"

ดำเนินการฟังก์ชัน

คำขอ scripts.run ต่อไปนี้เรียกฟังก์ชัน Apps Script ชื่อ listFolderContent โดยส่งผ่านไดรฟ์ folderId และจำนวนเต็ม MAX_SIZE เป็นอาร์กิวเมนต์ ฟังก์ชันนี้จะดำเนินการในโหมดการพัฒนา ซึ่งหมายความว่าระบบจะดำเนินการเวอร์ชันที่บันทึกไว้ล่าสุดโดยไม่สนใจว่าจะทำให้ใช้งานได้เป็นเวอร์ชันใดก็ตาม

โดยโปรโตคอลคำขอแสดงอยู่ด้านล่าง คำแนะนำการดำเนินการฟังก์ชันจะแสดงวิธีใช้คำขอเรียกใช้ในภาษาต่างๆ โดยใช้ไลบรารีของไคลเอ็นต์ Google API

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

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

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

หากฟังก์ชันพบข้อผิดพลาดระหว่างการเรียกใช้ Apps Script การตอบสนองอาจมีลักษณะดังนี้

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}