คู่มือการใช้งาน opendata.mea.or.th API

27 มิถุนายน ค.ศ. 2024

Open Data API และตัวอย่าง Code

Open Data API เป็นการค้นคืนข้อมูลที่อยู่ในไฟล์ชุดข้อมูล ด้วยเงื่อนไขการสืบค้นต่างๆ โดย Open Data API จะสามารถใช้งานได้กับไฟล์ทรัพยากรชุดข้อมูลที่เป็นไฟล์ขนิด CSV, XLS, XLSX และข้อมูลต้องอยู่ในรูปแบบตารางเท่านั้น ทั้งนี้ไฟล์ทรัพยากรที่สามารถเรียกใช้ Open Data API ได้ระบบจะแสดงตาราง preview ข้อมุลควบคู่กันด้วย หากไฟล์ทรัพยากรใดที่ระบบไม่สามารถแสดงตาราง preview ได้ จะไม่สามารถเรียกใช้ Open Data API ได้

วิธีการเรียกใช้งาน Open Data API สำหรับชุดข้อมูลนั้น ทำได้โดยคลิกที่ปุ่ม “Data API” เหนือตาราง preview จากนั้นจะปรากฏหน้าต่างแสดงคำอธิบายการใช้งาน และตัวอย่างการเรียกใช้งาน เช่น

ค้นคืนข้อมูลทั้งหมดโดยจำกัดจำนวนผลลัพธ์ 5 รายการ:

https://opendata.mea.or.th/th/api/3/action/datastore_search?limit=5&resource_id=a482cdd2-6ff3-4307-b7b9-b48a45ee331b;

ค้นคืนข้อมูลเฉพาะแถวที่ปรากฏคำค้นที่ระบุเท่านั้น

https://opendata.mea.or.th/th/api/3/action/datastore_search?q=<keyword>&resource_id=<resource_id>;

ตัวแปรที่จำเป็น
1.resource_id (จำเป็น): ID ของ resource ที่คุณต้องการค้นหา
2.filters (ไม่จำเป็น): ตัวกรองสำหรับการค้นหา เช่น ค้นหาเฉพาะแถวที่มีค่าในคอลัมน์ใดคอลัมน์หนึ่งตรงตามเงื่อนไขที่กำหนด
3.q (ไม่จำเป็น): คำค้นหาทั่วไปที่จะค้นหาผ่านทุกฟิลด์ในตาราง
4.distinct (ไม่จำเป็น): Boolean เพื่อระบุว่าจะคืนค่าที่ไม่ซ้ำกันหรือไม่
5.plain (ไม่จำเป็น): Boolean เพื่อระบุว่าจะค้นหาแบบ plain text หรือไม่
6.limit (ไม่จำเป็น): จำนวนสูงสุดของแถวที่จะคืนค่า (ค่าเริ่มต้นคือ 100)
7.offset (ไม่จำเป็น): การเลื่อนตำแหน่งเริ่มต้นสำหรับการคืนค่า (ใช้สำหรับการแบ่งหน้า)
8.sort (ไม่จำเป็น): ระบุการจัดเรียง เช่น "fieldname asc" หรือ "fieldname desc"
9.fields (ไม่จำเป็น): ระบุฟิลด์ที่ต้องการคืนค่า เช่น ["field1", "field2"]

 

ประเภทตัวแปรของ parameter ประกอบด้วย
1. resource_id (จำเป็น): text
2. filters (ไม่จำเป็น): text
3. q (ไม่จำเป็น): text
4. distinct (ไม่จำเป็น): Boolean
5. plain (ไม่จำเป็น): Boolean
6. limit (ไม่จำเป็น): int (ค่าเริ่มต้นคือ 100)
7. offset (ไม่จำเป็น): int
8. sort (ไม่จำเป็น): text
9. fields (ไม่จำเป็น): text


ผลลัพธ์
{
  "help": "https://opendata.mea.or.th/th/api/3/action/datastore_search?limit=5&resource_id=a482cdd2-6ff3-4307-b7b9-b48a45ee331b",
  "success": true,
  "result": {
    "resource_id": "a482cdd2-6ff3-4307-b7b9-b48a45ee331b",
    "fields": [
      {"id": "column1", "type": "text"},
      {"id": "column2", "type": "int"}
    ],
    "records": [
      {"column1": "value1", "column2": 10},
      {"column1": "value2", "column2": 20}
    ],
    "total": 2
  }
}

อธิบาย Response 
help: URL ของเอกสาร API
success: Boolean ระบุว่าการเรียก API สำเร็จหรือไม่
result: ข้อมูลที่ได้จากการค้นหา ประกอบด้วย
resource_id: ID ของ resource
fields: รายชื่อและประเภทของคอลัมน์ใน resource
records: แถวของข้อมูลที่ตรงตามการค้นหา
total: จำนวนแถวทั้งหมดที่ตรงตามการค้นหา