ภาพรวม

API กราฟคือวิธีขั้นต้นในการรับและส่งออกข้อมูลไปยังและออกจากแพลตฟอร์ม Facebook API นี้เป็น API ที่อยู่บน HTTP ระดับล่างที่แอพสามารถใช้สืบค้นข้อมูล โพสต์เรื่องราวใหม่ๆ จัดการโฆษณา อัพโหลดรูปภาพ และทำงานอื่นๆ อีกมากมายได้ด้วยโปรแกรม

ข้อมูลพื้นฐาน

API กราฟตั้งชื่อตามแนวคิดของ “กราฟสังคม” ซึ่งเป็นสิ่งที่่ใช้แทนข้อมูลใน Facebook API นี้ประกอบด้วย:

  • โหนด - พูดง่ายๆ ก็คืออ็อบเจ็กต์แต่ละตัว เช่น ผู้ใช้ รูปภาพ เพจ หรือความคิดเห็น
  • จุดเชื่อมโยง - จุดเชื่อมโยงของชุดอ็อบเจ็กต์และอ็อบเจ็กต์เดี่ยว เช่น รูปภาพในเพจหรือความคิดเห็นบนรูปภาพ
  • ฟิลด์ - ข้อมูลเกี่ยวกับอ็อบเจ็กต์ เช่น วันเกิดของผู้ใช้หรือชื่อของเพจ

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

HTTP

API กราฟทำงานอยู่บน HTTP ดังนั้นจึงใช้ได้กับภาษาใดๆ ที่มีไลบรารี HTTP เช่น cURL และ urllib ซึ่งหมายความว่าคุณสามารถใช้ API กราฟได้โดยตรงในเบราว์เซอร์ ตัวอย่างเช่น การขอ URL นี้ในเบราว์เซอร์...

https://graph.facebook.com/facebook/picture?redirect=false

...จะเท่ากับการส่งคำขอ cURL นี้

curl -i -X GET \
 "https://graph.facebook.com/facebook/picture?redirect=false&access_token={valid-access-token-goes-here}"

โทเค็นการเข้าถึง

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

  • คำขอ API กราฟแทบทั้งหมดจำเป็นต้องใช้โทเค็นการเข้าถึงประเภทใดประเภทหนึ่ง และ
  • วิธีที่ง่ายที่สุดในการรับโทเค็นการเข้าถึงคือการใช้การเข้าสู่ระบบด้วย Facebook

ตัวอย่างคำขอหรือการตอบกลับรหัสเทียมในเอกสารเกี่ยวกับ API กราฟของเราไม่ได้อ้างอิงถึงโทเค็นการเข้าถึงใดเป็นพิเศษ แต่คุณควรสันนิษฐานว่ามีโทเค็นการเข้าถึงอยู่ในคำขอนั้นๆ เพื่อที่จะรับการตอบกลับได้

โครงสร้าง

เราพูดถึงโครงสร้างไว้ในคู่มือการใช้งาน API กราฟ แต่โดยทั่วไป คุณ:

  • ใช้โหนดเพื่อรับข้อมูลของอ็อบเจ็กต์หนึ่งๆ
  • ใช้จุดเชื่อมโยงเพื่อรับชุดอ็อบเจ็กต์ที่เชื่อมต่อกับโหนดหรือเผยแพร่อ็อบเจ็กต์ไปยังชุดอ็อบเจ็กต์เหล่านั้น
  • ใช้ฟิลด์เพื่อระบุข้อมูลที่คุณต้องการให้มีในการตอบกลับ

URL โฮสต์

คำขอแทบทั้งหมดจะถูกส่งไปที่ URL โฮสต์ graph.facebook.com ยกเว้นแค่คำขอการอัพโหลดวิดีโอที่ใช้ graph-video.facebook.com เป็น URL โฮสต์

ID อ็อบเจ็กต์

โหนดเป็นอ็อบเจ็กต์เดี่ยว แต่ละอ็อบเจ็กต์มี ID ที่ไม่ซ้ำกัน ดังนั้น หากคุณต้องการข้อมูลเกี่ยวกับโหนด คุณจะต้องสืบค้น ID ของโหนดโดยตรง ตัวอย่างเช่น ID เพจทางการของ Facebook คือ 20531316728 คุณจะสืบค้นเพจได้โดยตรงโดยใช้ ID ของเพจ:

GET graph.facebook.com
  /20531316728

หากคุณต้องการข้อมูลบางอย่างโดยเฉพาะ (ที่เรียกว่าฟิลด์) เกี่ยวกับโหนด คุณสามารถใส่พารามิเตอร์ fields และระบุฟิลด์ที่คุณต้องการให้ส่งกลับมาในการตอบกลับได้ เมื่อลองทบทวนข้อมูลอ้างอิงเกี่ยวกับโหนดเพจดูแบบเร็วๆ จะพบว่าหนึ่งในฟิลด์ที่คุณขอได้เมื่ออ่านอ็อบเจ็กต์ของเพจคือฟิลด์ cover ซึ่งเป็นรูปภาพหน้าปกของเพจ คำขอจะมีลักษณะดังนี้:

GET graph.facebook.com
  /20531316728?fields=cover

โหนดส่วนมากมีจุดเชื่อมโยงซึ่งสามารถส่งกลับชุดออบเจ็กต์ที่เชื่อมต่อกับโหนดนั้นได้ หากต้องการสืบค้นจุดเชื่อมโยง คุณจะต้องใช้ทั้ง ID ของโหนดและชื่อของจุดเชื่อมโยง หนึ่งในจุดเชื่อมโยงที่อยู่ในรายการข้อมูลอ้างอิงคือจุดเชื่อมโยง photos ซึ่งจะส่งกลับอ็อบเจ็กต์รูปภาพทั้งหมดที่เพจเป็นเจ้าของ ดังนั้น หากต้องการรับรูปภาพทั้งหมดที่เพจบน Facebook เป็นเจ้าของ คุณจะต้องสืบค้นจุดเชื่อมโยง photos ของโหนด

GET graph.facebook.com
  /20531316728/photos

โหนดบางโหนดช่วยให้คุณอัพเดตฟิลด์โดยใช้กระบวนการ POST ได้ ตัวอย่างเช่น หากคุณเป็นผู้ดูแลของเพจบน Facebook คุณจะอัพเดตฟิลด์ description ของเพจได้เช่นนี้:

POST graph.facebook.com
  /20531316728?description=The%20OFFICIAL%20Facebook%20Page

จุดเชื่อมโยงมักจะช่วยให้คุณเผยแพร่อ็อบเจ็กต์ใหม่ไปยังชุดต่างๆ ของโหนดได้โดยใช้กระบวนการ POST คุณสามารถเผยแพร่รูปภาพไปยังชุดรูปภาพที่เพจบน Facebook เป็นเจ้าของได้โดยปฏิบัติดังนี้

POST graph.facebook.com
  /20531316728/photos

แน่นอนว่าการเผยแพร่อ็อบเจ็กต์ไปยังชุดมักจำเป็นต้องใช้ฟิลด์เพิ่มเติมเกี่ยวกับอ็อบเจ็กต์ เช่น URL ของรูปภาพ หรืออาจจะเป็นชื่อหรือคำอธิบาย เอกสารอ้างอิงเกี่ยวกับจุดเชื่อมโยงระบุฟิลด์ที่จำเป็นต้องใช้และที่จะระบุหรือไม่ก็ได้

สุดท้าย โดยปกติแล้วคุณสามารถลบโหนดได้โดยใช้กระบวนการ DELETE บน ID ของอ็อบเจ็กต์:

DELETE graph.facebook.com
  /20531316728

เวอร์ชั่น

API กราฟมีหลายเวอร์ชั่น คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับเวอร์ชั่นได้ในคู่มือเวอร์ชั่นของแอพ แต่ในเนื้อหานี้เราจะอธิบายเกี่ยวกับวิธีเรียกไปยังบางเวอร์ชั่น

การเรียกนั้นทำได้ง่ายมาก แค่เพิ่มอักษร v ตามด้วยหมายเลขเวอร์ชั่นไว้ที่จุดเริ่มของเส้นทางคำขอ ตัวอย่างนี้แสดงการเรียกไปยังเวอร์ชั่น 2.9:

GET graph.facebook.com
  /v2.9/20531316728/photos

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

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

ขั้นตอนถัดไป

มาดูที่การใช้งาน API กราฟเพื่อดูคำขอที่ซับซ้อนมากขึ้นและการตอบกลับ และดูว่าคุณสามารถใช้ API กราฟดำเนินการใดได้อีกบ้าง