เรียกใช้ฟังก์ชัน Google Apps Script

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

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

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

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

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

คำขอ scripts.run ต่อไปนี้จะเรียกใช้ฟังก์ชัน Apps Script ที่ชื่อ listFolderContent โดยส่ง folderId ของ Google ไดรฟ์และจำนวนเต็ม 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
        }]
      }]
    }
  }
}