在這裡簡單介紹如何用PHP抓取Facebook API的使用者資訊欄位值(如:Name, Email, Profile Picture, Locale, Timezone, Total Friends等等)
首先,必須新建一個Facebook APP 建立完成後會有APPID APP secret(金鑰) Facebook Find App ID and App Secret
如此才可以開始利用Facebook 開始抓Facebook 使用者登入資訊
- <?php
- require 'src/facebook.php';
- $facebook = new Facebook(array(
- 'appId' => 'appId',
- 'secret' => 'secret',
- ));
- $user_id = $facebook->getUser();
- ?>
- <!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">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Untitled Document</title>
- </head>
- <body>
- <div style="font-size:13px; color:#333333; line-height:24px;">
- <?php
- if($user_id) {
- try {
- $user_profile = $facebook->api('/me','GET');
- echo "<h1>1. User profile returned from Graph API</h1>";
- echo "Profile ID: " . $user_profile['id'] . "<br>";
- echo "Name: " . $user_profile['name'] . "<br>";
- echo "Email: " . $user_profile['email'] . "<br>";
- echo "Locale: " . $user_profile['locale'] . "<br>";
- echo "Timezone: " . $user_profile['timezone'] . "<br>";
- echo "<h3>All information in the user_profile array</h3>";
- echo "<pre>";
- var_dump($user_profile);
- echo "</pre>";
- echo "<h1>2. User profile returned from FQL query</h1>";
- $fql = 'SELECT name, username, pic_square, locale, email, friend_count from user where uid = ' . $user_id;
- $ret_obj = $facebook->api(array(
- 'method' => 'fql.query',
- 'query' => $fql,
- ));
- echo 'Name: ' . $ret_obj[0]['name'] . '<br>';
- echo 'Username: ' . $ret_obj[0]['username'] . '<br>';
- echo 'Profile picture: ' . $ret_obj[0]['pic_square'] . '<br>';
- echo 'Email: ' . $ret_obj[0]['email'] . '<br>';
- echo 'Locale: ' . $ret_obj[0]['locale'] . '<br>';
- echo 'Total friends: ' . $ret_obj[0]['friend_count'] . '<br>';
- } catch(FacebookApiException $e) {
- $login_url = $facebook->getLoginUrl(array(
- 'redirect_uri' => $facebook_app_url,
- 'scope' => "email,publish_stream,user_hometown,user_location,user_photos,friends_photos,
- user_photo_video_tags,friends_photo_video_tags,user_videos,video_upload,friends_videos"));
- echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
- }
- } else {
- $login_url = $facebook->getLoginUrl(array(
- 'redirect_uri' => $facebook_app_url,
- 'scope' => "email,publish_stream,user_hometown,user_location,user_photos,friends_photos,
- user_photo_video_tags,friends_photo_video_tags,user_videos,video_upload,friends_videos"));
- echo "<script type='text/javascript'>top.location.href = '$login_url';</script>";
- }
- ?>
- </div>
- </body>
- </html>
複製代碼- $facebook = new Facebook(array(
- 'appId' => 'appId',
- 'secret' => 'secret',
- ));
複製代碼 這裡填入你的APPID及金鑰
- $user_profile = $facebook->api('/me','GET');
- echo "<h1>1. User profile returned from Graph API</h1>";
- echo "Profile ID: " . $user_profile['id'] . "<br>";
複製代碼 這裡很重要
Facebook預設$user_profile = $facebook->api('/me');
一定要加GET
不然無法讀取陣列資料
|