圖形API的IFrame相應的Facebook應用程序開發的PHP SDK的3.0
起初,我想告訴你,這個職位是我的熱門職位更新版本的圖形API與IFrame的基地Facebook應 用程序開發。所以,如果你從來沒有看到教程,我請您來參觀,學習基本的東西,特別的Facebook應 用程序的安裝。後,我也提到了一些關於iframe的重要的事情,所以在這個崗位,我不提他們再次。所以在此更新後,我們將學習:[*]如何更新Facebook的PHP SDK 3.0庫
[*]認證
[*]如何讓擴展權限
[*]如何調用圖形API
[*]如何使用Facebook的最新的對話系統發布流
[*]如何申請/邀請您的朋友和跟踪
在開始之前:http://c3354688.r88.cf0.rackcdn.com/wp-content/uploads/2011/07/demo_application.jpghttp://c3354688.r88.cf0.rackcdn.com/wp-content/uploads/2011/07/download_code.jpg
1。如何更新Facebook的PHP SDK 3.0庫 首先下載Facebook的PHP SDK
/ src目錄拷貝facebook.php,base_facebook.php和fb_ca_chain_bundle.crt到您的項目目錄。然後下載我的代碼在這裡,在這個zip文件中,你也可以得到PHP SDK庫。現在,點擊下面的圖片了解文件的功能。
2。認證
在fbmain.php
行數23 - > 77,你會看到下面的代碼。
[*]起初,我們包括facebook.php庫。
[*]然後,我們創建了一個為Facebook的對象
[*]然後我們檢查是否有有效的會話為用戶$ USER = $ Facebook的>的getUser();
[*]然後我們生成與擴展權限登錄網址
[*]在數62行,我們調用圖形API美元user_profile = $ Facebook的API('/我');檢查,如果會議是無效或不。如果我們得到的結果,那麼用戶的會話是有效的,否則,我們為用戶設置= NULL這意味著會話過期或超時。
[*]如果沒有有效的用戶在發現行號71,我們為我們的應用程序重定向用戶登錄/認證頁面。
$user = null; //facebook user uid
try{
include_once "facebook.php";
}
catch(Exception $o){
echo '<pre>';
print_r($o);
echo '</pre>';
}
// Create our Application instance.
$facebook = new Facebook(array(
'appId'=> $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'cookie' => true,
));
//Facebook Authentication part
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown'
)
);
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
//you should use error_log($e); instead of printing the info on browser
d($e);// d is a debug function defined at the end of this file
$user = null;
}
}
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
身份驗證成功後,用戶的應用程序Facebook將用戶重定向到我們的回調URL,我們在開發應用程序設置提供。此外通過Facebook的命名參數代碼= XXXX,但因為這是一個iframe的應用程序,裡面Facebook的運行,所以我們使用了一種特殊的代碼行數16 - > 19。此代碼檢查,如果有參數的代碼定義或沒有,如果它的定義,那麼它會重定向用戶的Facebook應 用程序URL。
if (isset($_GET['code'])){
header("Location: " . $fbconfig['appBaseUrl']);
exit;
}
3。如何讓擴展權限 當你生成你這裡提供擴展的權限,登錄網址。以前的參數命名為“req_perms”,現在它的“範圍”。
$loginUrl= $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown'
)
);
結帳權限列表,從這裡延伸。4。如何調用圖形API 在fbmain.php
行數76,你會看到我是如何被稱為圖形API。這裡用戶是Facebook的用戶的UID。要知道更多有關圖形API訪問此頁
//get user basic description
$userInfo = $facebook->api("/$user");
5。如何使用Facebook的最新的對話系統發布流 中的template.php
行數50 - > 54,你會看到Facebook的JavaScript函數。要了解更多的飼料,請點擊這裡查看。
FB.ui({ method : 'feed',
message: userPrompt,
link :hrefLink,
caption:hrefTitle
});
6。如何申請/邀請您的朋友和跟踪 所以,你想你的用戶將邀請他的朋友使用此應用程序,同時,你要跟踪的人,你的用戶發送請求。此外,你要來檢查,如果該用戶通過要求或不來。在演示應用程序,單擊“發送
“
請求/發送邀請來檢查請求對話框。中的template.php
行數88,你會看到這個功能。
function newInvite(){
var receiverUserIds = FB.ui({
method : 'apprequests',
message: 'come on man checkout my application. visit
http://thinkdiff.net',
},
function(receiverUserIds) {
console.log("IDS : " + receiverUserIds.request_ids);
}
);
//
http://developers.facebook.com/docs/reference/dialogs/requests/
}
此功能顯示了邀請對話框,如果用戶選擇和朋友發送邀請,然後在響應你會得到所有用戶的朋友的UID為一個逗號分隔的字符串。所以,如果你使用Firefox的Firebug,你會看到的console.log(“IDS的:”+ receiverUserIds.request_ids)將打印的IDS:在Firebug控制台XXXX。所以,如果你想跟踪誰收到邀請的朋友的IDS,然後解析receiverUserIds並保存在你的MySQL數據庫。如果用戶身份驗證的邀請,從您的應用程序,然後他的URL會http://apps.facebook.com/ /?request_ids = 012345678910 所以的fbmain.php
行數23 - > 26,你會看到下面的代碼。我只是空白,你寫額外的代碼,跟踪用戶。
if (isset($_GET['request_ids'])){
//user comes from invitation
//track them if you need
}
我希望本教程將幫助你開發Facebook應用程序。 {:5_4:}牛X海海!!!
果断秒过,走人
頁:
[1]