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