การใช้ฟังก์ชัน 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
        }]
      }]
    }
  }
}