ฟีเจอร์นี้ใช้งานได้ในแพ็กเกจสูงสุด

สารบัญ

  • วิธีเตรียม Google Sheet
  • วิธีเขียนคำสั่ง JSON
  • วิธีเขียนแถวไปยังคอลัมน์ที่ระบุ
  • วิธีเขียนข้อมูลไปยังเซลล์ที่ระบุ
  • วิธีลบข้อมูลจากเซลล์ที่ระบุ
  • วิธีเขียนไปยังเซลล์ว่างแรกในแถว
  • วิธีอ่านข้อมูลจากตาราง
  • วิธีค้นหาข้อความในตาราง (คืนค่าแถวแรกที่ตรงกัน)
  • วิธีแสดงรายการทั้งหมดที่ตรงกันในตาราง
  • วิธีลบแถวทั้งหมด (พร้อม offset)
  • วิธีลบคอลัมน์ทั้งหมด (พร้อม offset)
  • วิธีสร้างปุ่มเพื่อเลือกชีตในตาราง
  • วิธีทำงานผ่านบัญชีของคุณ
  • วิธีทำงานกับตัวอักษรคอลัมน์
  • วิธีตั้งค่าตัวแปรในชื่อคอลัมน์
  • วิธีลบข้อมูลจากตาราง
  • วิธีเพิ่มชีตในตาราง
  • ข้อผิดพลาดที่อาจเกิดขึ้น
  • ฟังก์ชัน Google Sheets (API)

ในบทความนี้ เราจะดูว่าบอทสามารถโต้ตอบกับ Google Sheets ได้อย่างไร

เพื่อใช้ฟังก์ชันนี้ คุณต้องมี:

  • Google Sheet ที่เปิดสิทธิ์การแก้ไขผ่านลิงก์
  • URL ของฟังก์ชัน
  • พารามิเตอร์คำสั่ง

วิธีเขียนคำสั่ง JSON

ไปที่การตั้งค่าของบล็อกที่คุณต้องการส่งคำขอ

เลือกประเภทคำขอ POST JSON ป้อน URL ของฟังก์ชันที่ต้องการ และเพิ่มพารามิเตอร์ในฟิลด์ JSON POST parameters

เพื่อดูการตอบกลับที่ส่งกลับจากคำขอของคุณ ให้ป้อน {custom_answer} ในฟิลด์ Answer บันทึกบล็อก และรันผ่านเชน

จากนั้นคุณสามารถบันทึกค่าแต่ละค่าจากการตอบกลับไปยังตัวแปรในฟิลด์ Save Value from JSON Response โดยใช้ไวยากรณ์ต่อไปนี้:

parameters_from_query -> your_variable

หากการตอบกลับมีพารามิเตอร์ที่ซ้อนกัน ให้แยกตามตัวอย่างต่อไปนี้

ตัวอย่างเช่น หากการตอบกลับคือ:

{
  "cell_number": {
    "row": 4,
    "col": 2
  }
}

ใช้:

cell_number|row -> Row
cell_number|col -> Column

ตอนนี้เรามาดูรายละเอียดเพิ่มเติมว่าบอทสามารถทำอะไรกับ Google Sheets ได้บ้าง

วิธีเขียนแถวไปยังคอลัมน์ที่ระบุ

คุณสามารถรวบรวมข้อมูลจากผู้ใช้และเขียนไปยังแถวแรกที่ว่างในตารางได้ โดยใช้ฟังก์ชัน mapping

ส่วนหัวต้องถูกกรอก — อย่างน้อยหนึ่งเซลล์ในแถวแรกต้องมีค่า

URL ของฟังก์ชัน:

https://store.mavibot.ai/function/gsheets

พารามิเตอร์คำสั่ง:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  }
}

หากคุณต้องการเขียนข้อมูลไปยังชีตอื่นที่ไม่ใช่ชีตแรก ให้เพิ่มพารามิเตอร์ list_name:

{
  "id": "table id",
  "mapping": {
    "a": "just text",
    "b": "#{variable}"
  },
  "list_name": "Sheet name"
}

โดยที่:

  • id — ID ของ Google Sheet ของคุณ คุณสามารถรับได้จาก URL ของ Google Sheets
  • a, b, c, d — ชื่อคอลัมน์
  • list_name — ชื่อของชีต เช่น "Sheet 2"

ตัวอย่าง URL ของ Google Sheets:

https://docs.google.com/spreadsheets/d/1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4/edit#gid=0

ในตัวอย่างนี้ ID ของตารางคือ:

1aUbbUaw2SRnJFAavv06Noa1EzumhyShKDm7ie6lYKc4

หากคำขอสำเร็จ การตอบกลับจะมีลักษณะดังนี้:

{
  "number_row": 8
}

คุณสามารถบันทึกหมายเลขแถวที่ส่งกลับและใช้ในภายหลังได้

หากคุณไม่ต้องการให้ตารางสามารถแก้ไขได้สาธารณะผ่านลิงก์ คุณต้องส่งพารามิเตอร์ creds_path พร้อมกับเส้นทางไปยังไฟล์ข้อมูลการอนุญาตของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน ทำงานผ่านบัญชีของคุณ

ตัวอย่าง:

{
  "id": "table id",
  "mapping": {
    "a": "#{variable}",
    "b": "#{yet}",
    "c": "#{yet}",
    "d": "just text"
  },
  "creds_path": "path to your authorization data file"
}

วิธีเขียนข้อมูลไปยังเซลล์ที่ระบุ

URL ของฟังก์ชัน:

https://store.mavibot.ai/function/gsheets

พารามิเตอร์คำสั่ง:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  }
}

ข้อมูลจะถูกเขียนไปยังเซลล์ที่ระบุ — ในตัวอย่างนี้: A1, B3, C1 และ D20

การนับคอลัมน์เริ่มต้นจาก 1

หากคุณต้องการเขียนข้อมูลไปยังชีตอื่นที่ไม่ใช่ชีตแรก ให้เพิ่มพารามิเตอร์ list_name:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{yet}",
    "d20": "just text"
  },
  "list_name": "Sheet name"
}

หากคำขอสำเร็จ จะไม่มีการส่งคืนพารามิเตอร์ใดๆ

หากคุณไม่ต้องการให้ตารางสามารถแก้ไขได้สาธารณะผ่านลิงก์ ให้ส่งพารามิเตอร์ creds_path พร้อมกับเส้นทางไปยังไฟล์ข้อมูลการอนุญาตของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน ทำงานผ่านบัญชีของคุณ

ตัวอย่าง:

{
  "id": "table id",
  "write": {
    "a1": "#{variable}",
    "b3": "#{yet}",
    "c1": "#{more}",
    "d20": "just text"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

วิธีลบข้อมูลจากเซลล์ที่ระบุ

URL ของฟังก์ชัน:

https://store.mavibot.ai/function/gsheets

พารามิเตอร์คำสั่ง:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ]
}

การดำเนินการนี้จะลบค่าจากเซลล์ที่ระบุ — ในตัวอย่างนี้: A1, B3 และ C2

การนับคอลัมน์เริ่มต้นจาก 1

หากคุณต้องการลบค่าจากเซลล์บนชีตอื่นที่ไม่ใช่ชีตแรก ให้เพิ่มพารามิเตอร์ list_name:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name"
}

หากคำขอสำเร็จ จะไม่มีการส่งคืนพารามิเตอร์ใดๆ

หากคุณไม่ต้องการให้ตารางสามารถแก้ไขได้สาธารณะผ่านลิงก์ ให้ส่งพารามิเตอร์ creds_path พร้อมกับเส้นทางไปยังไฟล์ข้อมูลการอนุญาตของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน ทำงานผ่านบัญชีของคุณ

ตัวอย่าง:

{
  "id": "table id",
  "remove": [
    "a1",
    "b3",
    "c2"
  ],
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}

วิธีเขียนไปยังเซลล์ว่างแรกในแถว

คุณสามารถเขียนข้อมูลไปยังแถวที่ระบุได้ ค่าจะถูกเพิ่มไปยังเซลล์ว่างแรกทางขวาของเซลล์สุดท้ายที่ถูกเติม

การดำเนินการนี้ใช้ฟังก์ชัน append_in_row

URL ของฟังก์ชัน:

https://store.mavibot.ai/function/gsheets

พารามิเตอร์คำสั่ง:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value"
}

หากคุณต้องการเขียนข้อมูลไปยังแถวบนชีตอื่นที่ไม่ใช่ชีตแรก ให้เพิ่มพารามิเตอร์ list_name:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "list_name": "Sheet name"
}

โดยที่:

  • id — ID ของ Google Sheet ของคุณ
  • append_in_row — หมายเลขแถวที่ควรเขียนค่า
  • value — ค่าที่จะเขียนไปยังเซลล์
  • list_name — ชื่อของชีต

หากคำขอสำเร็จ การตอบกลับจะมีลักษณะดังนี้:

{
  "number_col": 10,
  "col_name": "J3"
}

คุณสามารถบันทึกค่าที่ส่งกลับและใช้ในภายหลังได้

หากคุณไม่ต้องการให้ตารางสามารถแก้ไขได้สาธารณะผ่านลิงก์ ให้ส่งพารามิเตอร์ creds_path พร้อมกับเส้นทางไปยังไฟล์ข้อมูลการอนุญาตของคุณ

ตัวอย่าง:

{
  "id": "table id",
  "append_in_row": "8",
  "value": "written value",
  "creds_path": "path to your authorization data file"
}

วิธีอ่านข้อมูลจากตาราง

URL ของฟังก์ชัน:

https://store.mavibot.ai/function/gsheets

พารามิเตอร์คำสั่ง:

{
  "id": "table id",
  "read": {
    "a1": "a1",
    "b3": "b4",
    "c1": "c10",
    "d20": "a1"
  }
}

ใช้พารามิเตอร์ read เพื่อระบุช่วงที่คุณต้องการดึงข้อมูล

ตัวอย่างเช่น:

  • "a1": "a1" คืนค่าหนึ่งเซลล์
  • "c1": "c10" คืนค่า 10 ค่าจากคอลัมน์ C

การตอบกลับประกอบด้วยที่อยู่เซลล์และค่าของมัน

การนับคอลัมน์เริ่มต้นจาก 1

หากคุณต้องการอ่านค่าจากชีตอื่นที่ไม่ใช่ชีตแรก ให้เพิ่มพารามิเตอร์ list_name:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name"
}

หากคำขอสำเร็จ การตอบกลับจะประกอบด้วยชื่อเซลล์และค่าของมัน

ตัวอย่าง:

{
  "A1": "value 1",
  "A2": "value 2",
  "A3": "value 3"
}

หากคุณไม่ต้องการให้ตารางสามารถแก้ไขได้สาธารณะผ่านลิงก์ ให้ส่งพารามิเตอร์ creds_path พร้อมกับเส้นทางไปยังไฟล์ข้อมูลการอนุญาตของคุณ

สำหรับข้อมูลเพิ่มเติม โปรดดูส่วน ทำงานผ่านบัญชีของคุณ

ตัวอย่าง:

{
  "id": "table id",
  "read": {
    "a1": "a3",
    "b3": "b6"
  },
  "list_name": "Sheet name",
  "creds_path": "path to your authorization data file"
}