Mar*_*ina 6 php facebook facebook-php-sdk
我是PHP的新手,并且很难理解facebook登录系统.
我从github(https://github.com/facebook/php-sdk/)下载了三个src /文件.我尝试使用example.php文件让我开始.但是,我不知道该怎么做.
对于那些不熟悉该文件的人,这里有一个example.php的副本,删除了一些样式:
require '../src/facebook.php';
$facebook = new Facebook(array(
'appId' => '...',
'secret' => '...',
));
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
$naitik = $facebook->api('/naitik');
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<body>
<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<div>
Login using OAuth 2.0 handled by the PHP SDK:
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>
<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?></pre>
<?php if ($user): ?>
<h3>You</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
<h3>Your User Object (/me)</h3>
<pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
<strong><em>You are not Connected.</em></strong>
<?php endif ?>
<h3>Public profile of Naitik</h3>
<img src="https://graph.facebook.com/naitik/picture">
<?php echo $naitik['name']; ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
以下是我对此提出的问题:
1)饼干怎么样? - 我希望用户能够在重新打开浏览器后登录我的网站.
2)我需要离开这个example.php文件以确认/注册用户,开始会话,将会话存储在cookie中,获取用户的fb用户ID,fb名称,fb图片和fb好友列表?
3)在src/files中,有一个'file fb_ca_chain_bundle.crt',我完全不熟悉这样的文件,我不确定是否有必要.它的目的是什么?
4)该行$naitik = $facebook->api('/naitik');是"naitik"这个人的用户名 - 所以如果我输入facebook.com/naitik它会显示他的公开个人资料?用"/ me"取代"/ naitik"将获得登录Facebook的人的公开资料?
5)如何获取访问令牌,以及如何在我的代码中使用它?
6)当我为用户创建会话和cookie以便用户在重新打开浏览器后登录时,我应该在我的会话和cookie中存储什么?
我知道这是很多问题,但是我已经在网上浏览了很多教程,并且没有一个能够很好地解释这个问题,主要是因为它们只是链接回Github PHP-SDK文件.此外,他们中的大多数都解释了以前版本的PHP-SDK.如有任何问题,欢迎任何帮助.
回答你的问题
1)饼干怎么样?
您只需在Facebook初始化中添加一个参数即可.将其更改为以下内容
$facebook = new Facebook(array(
'appId' => '...',
'secret' => '...',
'cookie' => true,
));
Run Code Online (Sandbox Code Playgroud)
2)我需要从这个example.php文件中删除最少的内容是什么....
在这个例子中,并非你想要的一切.代码的上半部分显示了如何连接和验证用户.下半场只是抛弃了他们的基本细节和naitik的细节.其余的你需要进一步了解.
3)在src/files中,有一个'file fb_ca_chain_bundle.crt'
此文件的目的是为CURL错误60提供一种解决方法.阅读:
http://www.takwing.idv.hk/blog/2011/php-sdk-demystified-%E2%80%93-how-curl-error-60-is-handled/
4)$ naitik = $ facebook-> api('/ naitik')行; 是"naitik"这个人的用户名 - 所以如果我输入facebook.com/naitik它会显示他的公开个人资料?用"/ me"取代"/ naitik"将获得登录Facebook的人的公开资料?
非常正确
5)如何获取访问令牌,以及如何在我的代码中使用它?
$ facebook-> getAccessToken();
你添加了一些方法调用,但它并不是必需的.
6)当我为用户创建会话和cookie以便用户在重新打开浏览器后登录时,我应该在我的会话和cookie中存储什么?
Facebook SDk将会解决这个问题.您只需要存储有关您的应用程序所需用户的任何额外信息.
| 归档时间: |
|
| 查看次数: |
4148 次 |
| 最近记录: |