我有我自己的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