ถ้าพูดถึงการดึงข้อมูลจาก Facebook ทุกคนคงนึกถึง การดึงข้อมูล view, like หรือ share มาจาก Facebook เท่านั่น แต่จริงๆแล้วยังมีค่าอื่นๆที่น่าสนใจ ที่สามารถนำไปใช้ได้ หากคุณมีการทำ Pages หรือมีการดึงคนจาก Social เข้าสู้เวปไซด์ ควรจะมีการดูต่างๆพวกนี้เพื่อวางแผน และวิเคราะห์แนวทางการทำงาน
ก่อนอื่นทาง Facebook ได้มีการทำ Tools ที่ช่วยในการดูข้อมูลอย่างๆง่าย ที่เรารู้จักกันอยู่แล้วคือ Graph API Explorer เป็นเครื่องมือที่ใช้ในการทดสอบดึงข้อมูล แต่เมื่อเราจะทำระบบในการดึงข้อมูล เรามาทำความเข้าใจการลักษณะการดึงข้อมูลกันก่อนจากตัวอย่าง (ผมขอเน้นไปที่การดึงข้อมูล Pages)
v2.9 : คือ ส่วนที่เป็นเวอร์ชั่น API ส่วนนี้สำคัญบ่อยครั้งที่ Facebooks ได้มีการ Update version และมีการนำบางอย่างออกไป บางครั้งเราหาวิธีดึงข้อมูลจากทาง Internet แต่ไม่สามารถใช้งานได้ ก็อาจจะเกิดจากส่วนนี้ ลองเปลี่ยนเป็น version ที่ต่ำกว่าอาจจะสามารถดึงค่ามาใช้งานได้
me : คือ ส่วนที่กำหนดว่าเราจะดึงข้อมูลจากอะไร เช่น me คือดึงข้อมูลของตัวเรา สามารถใส่เป็น ID ได้
{id}?fields=id,name | ถ้าเราอยากดึงข้อมูลจาก Pages เราก็ใส่ ID ของ Pages หรืออยากดึงข้อมูลของ Business ก็สามารถใส่ ID ของ business ได้
แต่ต้องเข้าใจก่อนว่าก่อนที่เราจะดึงข้อมูลได้นั่น เราจะต้อง Login Facebooks ก่อน เราจะได้ค่าหนึ่งที่เอาไว้ ยืนยันตัวตนและเช็คสิทธิ์ในการเข้าถึงข้อมูลที่เรียกกันว่า Token เรื่อง Login หรือ Token ผมขอข้ามไปเรื่องการดึงข้อมูลเลยนะครับไม่งั้นยาววววว
เมื่อ Login แล้ว ลองใช้คำสั่งในการดึงข้อมูลดังนี้
function getdata_facebook() { FB.api('/me','GET', {"fields":"id,name,businesses,accounts.limit(200){picture,id,engagement,fan_count,link,name,new_like_count}"}, function(response) { console.log("data : ",response); } ); }
จากตัวอย่าง ผมทำการดึงข้อมูลของ
id : หมายเลขไอดีของตัวเอง
name : ชือ Facebook
businesses : ข้อมูลของ businesses หาก ID ไม่ได้สมัคร business.facebook ไว้ จะไม่มี Return ค่านี้ส่งกลับมา
accounts : เป็นการดึงข้อมูลของ Acount จำนวน limit ที่ 200 ID และแต่ละไอดีดึงข้อมูล
picture | id | engagement | fan_count | link | name | new_like_count
โดยค่าเหล่านี้สามารถดูได้จากเอกสาร Graph API Reference
ในการดึงค่ามาจาก Facebook ยังมีส่วนที่น่าสนใจนอกจาก Reference ที่ทาง Facebook ให้มา คือ Stat ของหน้า Pages นั่นๆ โดยเราสามารถเข้าไปดึงข้อมูลด้วยแถมระเอียดมาก
การดึงข้อมูลมีขั้นตอนดังนี้
หรือใช้ Javascript
function getinsights_facebook() { FB.api('/{id page} ','GET', {"fields":"insights"}, function(response) { console.log("data : ",response); } ); }
ให้เลือก Version เป็น 2.6 เพราะ Insights ในเวอร์ชั่นที่สูงกว่านี้ จะไม่สามารถดึงค่านี้ได้ ต้องไปแยกดึงข้อมูลเอาเอง เราก็จะได้ข้อมูลทั้งหมดของหน้า Pages นี้หากคุณได้รับสิทธิ์ในการดูข้อมูลหรือเป็นเจ้าของ Pages
หรือหากอยากดึงเฉพาะข้อมูลที่ต้องการ มีค่าอะไรบ้างสามารถดูได้จาก https://developers.facebook.com/docs/graph-api/reference/v2.9/insights/