我有自己的php应用程序,该应用程序具有受限部分,只能由经过身份验证的用户使用。按照我的指示,我确实设法创建了FB应用程序,并通过用于FB登录的电子邮件启用了登录。
好的,但是,下一步该怎么办,以及如何加入我的web应用程序和FB登录应用程序系统?我想,不知何故,我必须从facebook应用程序获取信息,然后…做什么?
你能给我一些如何完成这个的想法吗?提前感谢!
您所遵循的教程实现了客户端流程。这意味着每件事都是在用户的浏览器中完成的,你的网络应用程序无法(轻松)从Facebook检索一些数据。
您必须实现服务器端流程。一个简单的好方法是使用FacebookPHPSDK(请参阅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');
您可能想查看Facebook PHP SDK的示例页面,该页面有很好的文档记录。
希望能有所帮助。