การใช้งาน graph api ของ facebook ด้วย php sdk

06 October 2010

graph api ของ facebook หากไม่ลงลึกในรายละเอียด และการประยุกต์ ก็เป็นเพียงการดึงข้อมูล และการอัพเดท ข้อมูลใน

facebook ธรรมดาโดยทั่วไป ซึ่งในความจริงเราสามารถใช้งาน facebook ได้หลายรูปแบบ เช่น สร้างระบบตะกร้าสินค้า ใน

application สร้างระบบกระดานสนทนาในเว็บไซต์ สร้างระบบ photo album เหล่านี้เป็นต้น ซึ่งก็คือ facebook มีระบบ

ฐานข้อมูลเหล่ามีรองรับ เราสามารถนำมาประยุกต์ใช้งานได้

อย่างไรก็ตาม มาศึกษาพื้นฐาน การใช้งาน graph api ด้วย php sdk กันก่อน ซึ่งในส่วนนี้จะเป็นการดึงข้อมูล ของ

facebook มาใช้งาน

อ่านรายละเอียด และทำความเข้าใจด้วยตัวเอง เพิ่มเติมได้ที่ http://developers.facebook.com/docs/api

รูปแบบการใช้งาน graph api โดยทั่วไป

https://graph.facebook.com/ID  คือ https://graph.facebook.com/ต่อท้ายด้วย id ของ object ใน facebook

object ของ facebook มีอะไรบ้าง ดูได้ที่  http://developers.facebook.com/docs/reference/api/

เราสามารถทดสอบการแสดงข้อมูลการใช้งาน graph api ของ facebook ด้วยนำ url graph api
เช่น
(ข้อมูลเบื้องต้นของผู้เขียน ใน facebook)
https://graph.facebook.com/ninenik  

ไปวางที่ตำแหน่ง url ใน browser chrome หรือ firefox
ก็จะแสดงข้อมูลเบื้องต้นของ ninenik ใน facebook ออกมาในรูปแบบ json object
 

{
   "id": "1234998873",
   "name": "Ninenik Narkdee",
   "first_name": "Ninenik",
   "last_name": "Narkdee",
   "link": "http://www.facebook.com/ninenik",
   "gender": "male",
   "locale": "en_US"
}

เราไม่ต้องกังวลในเรื่อง json object คืออะไร เพราะ php-sdk จะแปลงค่าเป็นตัวแปร array ให้เราใช้งาน
สำหรับใครที่อยากรู้เพิ่มเติม เกี่ยวกับ json คือะไร ค้นหาใน google

การใช้งาน php-sdk เรียกใช้ฟังก์ฃัน api สามารถทำได้ดังนี้
 

<?php
////////////////////////////////////////////////////////////////////////////////
///       ส่วนของการใช้งาน
///////////////////////////////////////////////////////////////////////////////////
$testData=$facebook->api("/btaylor"); // ข้อมูลของคุณ Bret Taylor สำหรับทดสอบ
// ทดสอบการแสดงผลตัวแปร array
pre($testData);
?>

เราสามารถกำหนดชื่อ แทน id ได้ตามตัวอย่างข้างต้น หรือกำหนดเป็น id ได้เช่น
 

<?php
////////////////////////////////////////////////////////////////////////////////
///       ส่วนของการใช้งาน
///////////////////////////////////////////////////////////////////////////////////
$testData=$facebook->api("/220439"); // ข้อมูลของคุณ Bret Taylor สำหรับทดสอบ
// ทดสอบการแสดงผลตัวแปร array
pre($testData);
?>

2 ตัวอย่างข้างต้น เป็นการใช้งานกับ object ชื่อ user ใน facebook
อย่าลืมว่า graph api สามารถใช้งานได้กับ object ทุกตัวของ facebook ตามที่ได้กล่าวมาแล้ว

 

// Users: https://graph.facebook.com/btaylor (Bret Taylor)
$testData=$facebook->api("/btaylor");
// Pages: https://graph.facebook.com/cocacola (Coca-Cola page)
$testData=$facebook->api("/cocacola");
// Events: https://graph.facebook.com/251906384206 (Facebook Developer Garage Austin)
$testData=$facebook->api("/251906384206");
// Groups: https://graph.facebook.com/2204501798 (Emacs users group)
$testData=$facebook->api("/2204501798");
// Applications: https://graph.facebook.com/2439131959 (the Graffiti app)
$testData=$facebook->api("/2439131959");
// Status messages: https://graph.facebook.com/367501354973 (A status message from Bret)
$testData=$facebook->api("/367501354973");
// Photos: https://graph.facebook.com/98423808305 (A photo from the Coca-Cola page)
$testData=$facebook->api("/98423808305");
// Photo albums: https://graph.facebook.com/99394368305 (Coca-Cola's wall photos)
$testData=$facebook->api("/99394368305");
// Videos: https://graph.facebook.com/614004947048 (A Facebook tech talk on Tornado)
$testData=$facebook->api("/614004947048");
// Notes: https://graph.facebook.com/122788341354 (Note announcing Facebook for iPhone 3.0)
$testData=$facebook->api("/122788341354");
// Check-ins: https://graph.facebook.com/414866888308 (Check-in at a pizzeria)
$testData=$facebook->api("/414866888308");

นอกจากนี้เรายังสามารถกำหนด ส่วน connection ต่อท้าย ได้ด้วย ตัวอย่าง เช่น ข้อมูลของคุณ Bret Taylor
 

// Friends: https://graph.facebook.com/btaylor/friends
$testData=$facebook->api("/btaylor/friends");
// News feed: https://graph.facebook.com/btaylor/home
$testData=$facebook->api("/btaylor/friends");
// Profile feed (Wall): https://graph.facebook.com/btaylor/feed
$testData=$facebook->api("/btaylor/friends");
// Likes: https://graph.facebook.com/btaylor/likes
$testData=$facebook->api("/btaylor/friends");
// Movies: https://graph.facebook.com/btaylor/movies
$testData=$facebook->api("/btaylor/friends");
// Books: https://graph.facebook.com/btaylor/books
$testData=$facebook->api("/btaylor/friends");
// Notes: https://graph.facebook.com/btaylor/notes
$testData=$facebook->api("/btaylor/friends");
// Photo Tags: https://graph.facebook.com/btaylor/photos
$testData=$facebook->api("/btaylor/friends");
// Photo Albums: https://graph.facebook.com/btaylor/albums
$testData=$facebook->api("/btaylor/friends");
// Videos: https://graph.facebook.com/btaylor/videos
$testData=$facebook->api("/btaylor/friends");
// Events: https://graph.facebook.com/btaylor/events
$testData=$facebook->api("/btaylor/friends");
// Groups: https://graph.facebook.com/btaylor/groups
$testData=$facebook->api("/btaylor/friends");
// Check-ins: https://graph.facebook.com/btaylor/checkins
$testData=$facebook->api("/btaylor/friends");

ตัวอย่างข้างต้นเป็นวิธีการเรียกใช้งาน php-sdk  ไม่ควรนำโค้ดไปทดสอบรันพร้อมกัน เพราะจะเป็นการดึง
ข้อมูลจำนวนมาก ให้เลือกทดสอบตามบรรทัดที่ต้องการ

อ่านรายละเอียด และศึกษาเพิ่มเติม ด้วยตัวเองได้ที่

http://developers.facebook.com/docs/api

ข้อมูลและการใช้งานในส่วนอื่นๆ จะได้นำมากล่าวในต่อๆ ไป

ตัวอย่างโค้ดการใช้งาน php-sdk สำหรับ graph api

 

<?php
session_start(); // กำหนดไว้ กรณีอาจได้ใช้ตัวแปร session
include("facebook.php"); //  เรียกใช้งานไฟล์ php-sdk สำหรับ facebook

// สร้าง Application instance.
$facebook = new facebook(array(
  'appId'  => 'xxxxxxxxxxxxx', // appid ที่ได้จาก facebook
  'secret' => 'xxxxxxxxxxxxxxxxxx', // app secret ที่ได้จาก facebook
  'cookie' => true, // อนุญาตใช้งาน cookie
));
// appId และ secret ดูวิธีการได้มาจาก 
// http://www.ninenik.com/สร้าง_comment_ด้วย_social_plugins_ใน_facebook_api_อย่างง่ายดาย-291.html

// ตรวจสอบสถานะการ login
$session = $facebook->getSession();

// สร้างฟังก์ชันไว้สำหรัดทดสอบ การแสดงผลการใช้งาน
function pre($varUse){
	echo "<pre>";
	print_r($varUse);
	echo "</pre>";
}
// สร้างตัวแปรสำหรับเก็บข้อมูลของสมาชิกเมื่อได้ทำการ login แล้ว
$me = null; 

// ถ้ามีการ login ดึงข้อมูลสมาชิกที่ login มาเก็บที่ตัวแปร $me เป็น array
if($session){
	try{
		$uid = $facebook->getUser(); // เก็บ id ของผู้ใช้ไว้ที่ตัวแปร $uid กรณีมีการล็อกอิน facebook อยู่
		$me = $facebook->api('/me'); // ดึงข้อมูลผู้ใช้ปัจจุบันทีล็อกอิน facebook มาเก็บในตัวแปร $me
	}catch (FacebookApiException $e) { // กรณีเกิดข้อผิดพลากแสดงผลลัพธ์ข้อผิดพลาดที่เกิดขึ้น
		error_log($e);
	}
}
?>
<?php
////////////////////////////////////////////////////////////////////////////////
///       ส่วนของการใช้งาน
///////////////////////////////////////////////////////////////////////////////////
$testData=$facebook->api("/btaylor"); // ข้อมูลของคุณ Bret Taylor สำหรับทดสอบ
// ทดสอบการแสดงผลตัวแปร array
pre($testData);
?>
<?php
////////////////////////////////////////////////////////////////////////////////
///       ส่วนของการใช้งาน
///////////////////////////////////////////////////////////////////////////////////
$testData=$facebook->api("/220439"); // ข้อมูลของคุณ Bret Taylor สำหรับทดสอบ
// ทดสอบการแสดงผลตัวแปร array
pre($testData);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>facebook use php sdk use graph api simple 1</title>
</head>

<body>





</body>
</html>

ตัวอย่าง http://www.ninenik.com/fb/facebook_use_sdk3.php








บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

09 Oct 10 สร้าง album และ อัพโหลด รูป photo ขึ้น facebook ด้วย php sdk อ่าน 4803 25 Sep 08 ใช้ PHP สร้าง Javascript อย่างง่าย อ่าน 4725 23 Dec 09 จัดรูปแบบ การแบ่งคอลัมน์ column ของ ตาราง สำหรับแสดงข้อมูล ด้วย php อ่าน 4571 08 Oct 10 การอัพเดท สถานะบน facebook อัตโนมัติ แบบ graph api ด้วย php sdk อ่าน 4418 10 Nov 08 ฟังก์ชัน PHP ตัดข้อความยาวด้วย wordwrap อ่าน 4329 25 Sep 08 Authentication ป้องกันไฟล์ด้วย php อ่าน 4319 18 Mar 09 สร้างฟังก์ชัน PHP กำหนดเวลาหมดอายุให้ัตัวแปร SESSION อย่างง่าย อ่าน 4310 04 Oct 10 รู้จัก และใช้งาน php sdk สำหรับ facebook เพิ่มขึ้น อ่าน 4235 07 Sep 10 ใช้ ckeditor กับ filemanager ด้วย php รองรับ ฟังก์ชัน javascript อ่าน 4036 06 Sep 10 ประยุกต์ การ invite friends ใน facebook มาใช้งาน อ่าน 3996 26 Dec 10 แนะนำ PHP Simple HTML DOM Parser สำหรับ ดึงข้อมูล เฉพาะส่วนที่ต้องการ อ่าน 3910 25 Mar 11 สร้างรูปแบบ วันที่ คล้าย วันที่ใน facebook comment ด้วย php อย่างง่าย อ่าน 3747 04 Nov 08 สร้าง RSS บทความหรือข่าวสาร ด้วย PHP อ่าน 3675 28 Nov 09 เทคนิค php ค้นหาข้อมูล และ hilight กรณี keyword มากกว่า 1 ค่า อ่าน 3627 15 Feb 09 ดึงข่าว rss มาใช้ในเว็บเราได้อย่างง่ายดายด้วย php อ่าน 3615

บทความคนเข้าอ่านวันนี้

25 Sep 08 การกำหนด selectors ด้วย jQuery แบบตัวกรองพื้นฐาน อ่าน 2955 26 Mar 09 ฟังก์ชัน php แบ่งหน้าแต่งด้วย css อ่าน 6826 18 Aug 10 ใช้ php ดึงรูปภาพ จากโฟลเดอร์ มาแสดง พร้อม เทคนิค แบ่งหน้า อ่าน 6458 14 Sep 10 การดึงข้อมูล จากฐานข้อมูล สร้าง xml ไฟล์ ด้วย php อ่าน 5484 29 Jul 10 สั่ง print preview ใน IE และ ประยุกต์กับ บราวเซอร์ อื่น อ่าน 4295 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 1672 09 Nov 11 แนวทางการสร้างเมนูหลายภาษา อย่างง่ายด้วย php และ javascript อ่าน 2517 13 Mar 09 สร้างฟังก์ชัน กรอกข้อความได้เฉพาะภาษาไทยด้วย javascript อ่าน 4370 19 Oct 08 คำสั่ง SQL functions อ่าน 4871 08 Oct 08 การจัดตำแหน่ง div ให้อยู่กี่งกลาง อ่าน 6296 04 Nov 08 สร้าง RSS บทความหรือข่าวสาร ด้วย PHP อ่าน 3675 16 Dec 11 ใช้ jQuery กับ CSS สร้างเมนูย่อย แนวนอน รูปแบบคล้ายแท็บเมนู อ่าน 3479 15 Feb 09 สร้างเมนู Accordion อย่างง่ายแบบที่ 2 ด้วย jQuery อ่าน 5004 03 Aug 11 ใช้งาน google chart ตัวใหม่สร้าง poll อย่างง่าย อ่าน 2180 25 Sep 08 กรอกข้อมูลได้เฉพาะตัวเลข อ่าน 4165 18 Mar 10 การเก็บข้อมูลวันที่ ในฐานข้อมูล กับคำสั่ง sql ในการค้นหา อ่าน 5880 16 Aug 09 เริ่มต้น jQuery UI กับการสร้าง ปฏิทินเลือกวันที่ datepicker อ่าน 21097 07 Dec 09 การเลื่อน scrollbar อัตโนมัติตาม การเลื่อนขึ้นลง ของ mouse ด้วย jQuery อ่าน 3416 13 Feb 09 แปลงข้อความเป็นตัวเล็ก toLowerCase ตัวใหญ่ toUpperCase ด้วย javascript อ่าน 2210 29 Mar 09 ทบทวนการตัดข้อความด้วย PHP อ่าน 5087
จำนวนผู้เยี่ยมชม 892667
คน 2012 © Copyright ninenik.com. All rights reserved.