Home / Social Media Marketing  / Social Network  / Applications and Tools  / พัฒนา Facebook Open Graph API ตอนที่ 9 รู้จักภาษา FQL

พัฒนา Facebook Open Graph API ตอนที่ 9 รู้จักภาษา FQL

FQL ของ Facebook

คราวนี้ก็ได้เวลามาพูดเรื่องยากกันสักนิดเกี่ยวกับ Facebook SDK และ Open Graph API ครับ ไอ้ที่ยากก็คือรอบนี้จะเป็นการรู้จัก FQL Query นั่นเองครับภาษา FQL หรือ Facebook Query Language นั้นก็ไม่ต่างกับภาษา SQL เท่าไหร่ครับเป็นภาษาระดับสูงเช่นกัน มีโครงสร้างภาษาที่เป็น Natural Language เช่นเดียวกับ SQL ซึ่ง ถ้าใครที่ยังไม่มีพื้นฐานภาษา SQL นั้นต้องพยายามศึกษาให้พอรู้เรื่องก่อนจึงจะเข้าใจครับ

FQL ของ Facebook

FQL ของ Facebook

ทำไมต้องศึกษา FQL Query ของ Facebook
สำหรับตัว Facebook SDK หรือ Open Graph API นั้นมันมีการแสดงผลลัพธ์ออกมาเป็น JSON ใช่ไหมครับ FQL ก็แสดงค่าออกมาเป็น JSON เช่นกันเพียงแค่ถ้าใช้ค่า GET Parameter จาก Open Graph API ธรรมดาอย่างเดียวมันก็ได้ค่า Default ที่ API ตัวนี้ออกมาเป็น JSON เท่านั้นครับซึ่งถ้าบางทีเราต้องการอะไรที่ซับซ้อน และอยู่คนละส่วนของ GET Parameter แล้วล่ะก็ เราก็ต้องเขียนโปรแกรมวนลูปซ้อนลูป ถ้าซับซ้อนชนิดที่ว่าหลายๆ ขั้นตอน ลูปของเราก็จะมากขึ้น เงื่อนไขมากขึ้น

เขียน FQL บน Graph API Explorer

เขียน FQL บน Graph API Explorer

FQL เลยมีไว้สำหรับดึงค่า ที่ต้องการจากส่วนของ Object บน Facebook ที่แยกกันอย่าอิสระครับ หรือถ้าใครที่รู้ทฤษฎีการ JOIN ของ SQL แล้วล่ะก็จะเข้าใจครับว่า FQL มันดียังไง

ตัวอย่างสมมติว่าผม GET Parameter ค่าพื้นฐาน uid2 จาก Facebook ผมก็เพียงหา Access Token แล้วก็อัดค่าทั้งหมดลงใน URL

ดูแล้วก็มีอาการงงๆ เล็กน้อยใช่ไหมครับในการ Pass ค่า Parameter ไป GET ผลลัพธ์ JSON
แต่ถ้าเราใช้ FQL มาช่วย ผมก็เพียงแค่เขียนคำสั่งว่า

สั้นและง่ายกว่ากันเยอะ ถูกโฉลกอาชีพโปรแกรมเมอร์มากๆ ว่าไหมครับ

เพราะโครงสร้างของ FQL นั้นไม่ต่างจาก SQL มันก็มี หลักการง่ายๆ เหมือน SQL Query ทั่วไปอย่าง

แค่นั้นแหละครับ ส่วน Element อื่นๆ มันก็แตกต่างกันไปเหมือนที่ ทำไม MySQL กับ MS SQL ถึง Query ใช้ LIMIT ต่างกัน เท่านั้นเองซึ่งก็เป็นเรื่องที่คุณต้องศึกษามันเล็กน้อยเพิ่มเติม แต่โครงสร้างภาษาหลักๆ ก็ไม่มีอะไรแตกต่างไปจาก SQL ธรรมดาเลยครับ

ตัวอย่างก็แสนธรรมดา

ถ้าต้องการ Active User และ Friends ออกมาด้วยก็ใช้

รวมไปถึงการเรียกคำสั่ง Multi-Query ก็ได้เช่นกันครับ เช่นถ้าเราต้องการเรียกข้อมูลแสดงผลออกมาเป็น JSON ในส่วนของ Event ที่คุณเคยไปกด Attending ไว้ คุณต้องทำการ Query อยู่ 2 ครั้ง สิ่งที่ต้องเรียกคือ ID และ RSVP ของ Event แล้วค่อยไปเรียก URL รูปภาพ และ ชื่อ Event ออกมาอีกที

เรียก Attendee Data ของ Event ออกมาก่อน ซึ่งจะมีค่า ชื่อ Event, URL และ รูปภาพ เสร็จแล้วทำการ Query รอบที่ 2 ผ่าน Multi Query

ประมาณนี้ครับ

ส่วนการใช้ FQL ร่วมกับ Facebook SDK นั้นก็สามารถเขียนได้ง่ายๆ ซึ่งคุณต้องทำการดาวน์โหลด Facebook SDK มาก่อนนะครับ (ศึกษาได้ในบทเรียนเก่าๆ)

เขียน HTML แบบนี้ไปเลย

ก็เป็นอันทำงานได้แล้วครับ รอบนี้จะเป็นทฤษฏีซะมากกว่า รอบหน้าคงจะมีของเล่นมาให้ลองทำตามดูครับ เพราะคิดว่า Workshop นั้นได้ผลกับผู้อ่านเสมอว่าไหม?
ส่วนใครอยากรู้ลึกกว่านี้ไปที่ https://developers.facebook.com/docs/reference/fql/ ก่อนได้เลยครับ

Comments

daydevthailand@gmail.com

<p>อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)</p>

Review overview
1 COMMENT

POST A COMMENT