我有我自己的PHP應用程序有限制的一部分,只有經過身份驗證的用戶使用。按照說明from我確實設法創建了FB應用程序並啓用了用於FB登錄的電子郵件登錄。Facebook連接和自定義PHP應用程序的身份驗證
好的,但是,接下來該做什麼,以及如何加入我的web應用程序和FB登錄應用程序系統?我想,不知何故,我必須從Facebook應用程序獲取信息,並......做什麼?
你可以給我一些想法如何完成這一個?先謝謝你!
我有我自己的PHP應用程序有限制的一部分,只有經過身份驗證的用戶使用。按照說明from我確實設法創建了FB應用程序並啓用了用於FB登錄的電子郵件登錄。Facebook連接和自定義PHP應用程序的身份驗證
好的,但是,接下來該做什麼,以及如何加入我的web應用程序和FB登錄應用程序系統?我想,不知何故,我必須從Facebook應用程序獲取信息,並......做什麼?
你可以給我一些想法如何完成這一個?先謝謝你!
您遵循的教程實現了客戶端流程。這意味着每件事都是在用戶的瀏覽器中完成的,並且您的Web應用程序無法從Facebook輕鬆檢索(輕鬆)一些數據。
您必須實現服務器端流程。一個簡單易行的方法是使用Facebook PHP SDK(see on github)。所以,你會碰到這樣的:如果用戶登錄
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$user = $facebook->getUser();
,然後$user
是他的Facebook ID。然後,您可以通過進行API調用來檢查,如果你有一個有效的訪問令牌:
如果不提高任何異常,那麼你有一個有效的訪問令牌
如果是這樣的話,你必須重新認證用戶。
這裏:
if ($user) {
try {
$facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
你需要再顯示登錄或註銷鏈接:
<?php if ($user): ?>
<a href="<?php echo $facebook->getLogoutUrl() ?>">Logout of Facebook</a>
<?php else: ?>
<a href="<?php echo $facebook->getLoginUrl() ?>">Login with Facebook</a>
<?php endif ?>
當用戶登錄,你有一個有效的訪問令牌,你可以使API調用以從Facebook獲取數據:
$user_profile = $facebook->api('/me');
您可能需要檢查有記錄的example page of the Facebook PHP SDK。
希望有所幫助。
你能否請更新您的答案中的鏈接。他們現在已經死了。 – 2013-12-16 19:24:39
肯定Gaurav,在這裏:) – Quentin 2013-12-17 09:37:55
(如果你的數據庫中有一個用戶表,那麼使用從那裏獲取的電子郵件地址作爲用戶名,然後對所有你的fb用戶使用相同的密碼)和安全) – 2011-05-28 10:36:43