PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

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

06 October 2010 By


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


Tags:: php sdk graph api facebook





URL สำหรับอ้างอิง