การใช้งาน graph api ของ facebook ด้วย php sdk
06 October 2010graph 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>
บทความคนเข้าอ่านวันนี้
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
