วิธีใช้งาน Facebook SDK สำหรับ PHP รุ่น 4.0.0 by joeskb
Oct2
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!
15:18 on October 3rd, 2014
ขอสอบถามเรื่อง Use นิดนึงครับของผม error ตรง use ครับเพราะ host ที่ผมใช้อยู่ ใช้ php 5.2 ผมคาดว่าน่าจะ error เพราะเหตุนี้ แต่เราจะมีวิธีอื่นมั้ยคับที่สามารถใช้แทน use ได้
09:04 on October 15th, 2014
SDK ตัวใหม่ต้องใช้ php 5.4 ขึ้นไปครับ ไม่มีทางแก้ไข