การดึงข้อมูลจาก API Facebooks

ถ้าพูดถึงการดึงข้อมูลจาก 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/