所以在此更新後,我們將學習:
- 如何更新Facebook的PHP SDK 3.0庫
- 認證
- 如何讓擴展權限
- 如何調用圖形API
- 如何使用Facebook的最新的對話系統發布流
- 如何申請/邀請您的朋友和跟踪
在開始之前:
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/ [APP_NAME] /?request_ids = 012345678910 所以的fbmain.php
行數23 - > 26,你會看到下面的代碼。我只是空白,你寫額外的代碼,跟踪用戶。
- if (isset($_GET['request_ids'])){
- //user comes from invitation
- //track them if you need
- }
複製代碼
我希望本教程將幫助你開發Facebook應用程序。 |