วิธีใช้งาน Facebook SDK สำหรับ PHP รุ่น 4.0.0 by

1
Oct
2

Deadline ใกล้เข้ามาทุกทีสำหรับ developer ที่จะต้องย้ายมาใช้งาน Graph API รุ่นใหม่ของทาง Facebook
เดือนนี้จึงขอเสนอตัวอย่างการใช้งานบน PHP นะครับ

อันดับแรกคือการ require และ use class จากไฟล์
ทาง facebook เองได้แนะนำ composer เข้ามาจัดการ การ require ที่แบ่งออกมาเป็นหลายๆ
ไฟล์ที่ไม่เหมือนเดิมให้เหลือแค่ autoload.php ตัวเดียว แต่ก็ยังต้องไล่ use เองเหมือนเดิมครับ

require( 'autoload.php' );
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;

ต่อมาก็เริ่มจัดการกับ session โดย เริ่ม facebook session และใส่ appid, appsecret ลงไป
session_start();
FacebookSession::setDefaultApplication('appid', 'appsecret');

สร้าง helper สำหรับ redirect หลังจากการ login
$helper = new FacebookRedirectLoginHelper('redirect here');
ใส่คำสั่งรอรับ session จากการ redirect
เพื่อความกระชับของ blog ผมเลยไม่ได้ code ส่วน catch ไว้นะครับ
try {
$session = $helper->getSessionFromRedirect();
} catch (FacebookRequestException $ex) {
} catch (Exception $ex) {
}

ส่วนต่อจากนี้ในตัวอย่าง facebook ใช้ isset แต่ผมใช้ empty แทนนะครับ จะได้ไม่สับสนในขั้นตอน
if (empty($session)) { ?>
ใส่คำสั่งสำหรับขอ permission ให้ accesstoken
top.location.href = $helper->getLoginUrl(['scope' => 'user_friends'])
ต่อมาก็เป็นตัวอย่างการใช้งานครับ อันนี้ request เป็น /me/invitable_friends
$request = new FacebookRequest($session, 'GET', '/me/invitable_friends');
$response = $request->execute();
$graphObject = $response->getGraphObject();
$a_friend = $graphObject->getPropertyAsArray('data');
foreach ($a_friend as $friend) {
echo ($friend->getProperty('name'));
}

Enjoy this article?

Consider subscribing to our RSS feed!

2 ความเห็น

  1. เรื่อง use
    15:18 on October 3rd, 2014

    ขอสอบถามเรื่อง Use นิดนึงครับของผม error ตรง use ครับเพราะ host ที่ผมใช้อยู่ ใช้ php 5.2 ผมคาดว่าน่าจะ error เพราะเหตุนี้ แต่เราจะมีวิธีอื่นมั้ยคับที่สามารถใช้แทน use ได้

  2. heha
    09:04 on October 15th, 2014

    SDK ตัวใหม่ต้องใช้ php 5.4 ขึ้นไปครับ ไม่มีทางแก้ไข

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน