FB PHP认证
我发现这里的代码http://developers.facebook.com/docs/authentication/FB PHP认证
<?php
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
$my_url = "YOUR_URL";
session_start();
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'];
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_REQUEST['state'] == $_SESSION['state']) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/me?access_token="
. $params[‘access_token’];
$user = json_decode(file_get_contents($graph_url));
echo("Hello " . $user->name);
}
else {
echo("The state does not match. You may be a victim of CSRF.");
}
?>
我改变了应用程序ID应用程序的秘密和URL,我创建了一个页面,一个HTML句话我上传了该网站的服务器上,我得到的错误页面未找到。任何人都可以帮助我吗?我也需要包含任何东西?
您需要使用facebook SDK。 这里是样品的教程,这工作我很好,
http://www.9lessons.info/2011/01/facebook-graph-api-connect-with-php-and.html
我相信它会解决您的问题。
有没有这样的事情,在当前的FB申请注册成功页 – koool 2011-05-23 05:31:03
您应该使用Facebook PHP SDK(see on github)。它是死的简单处理在记录用户下面是它的样子:
require 'facebook.php';
$facebook = new Facebook(...);
$user = $facebook->getUser();
如果用户已登录,$user
将包含他的Facebook ID。但这并不意味着您有一个有效的访问令牌来进行API调用:如果他刚刚从Facebook注销,$user
将不会为空,但访问令牌将不再有效。检查
的一种方式,如果你有一个有效的令牌实际上是试图使一个API调用:
if ($user) {
// The user is logged in
try {
$facebook->api('/me');
// Here : API call succeeded, you have a valid access token
} catch (FacebookApiException $e) {
// Here : API call failed, you don't have a valid access token
// you have to send him to $facebook->getLoginUrl()
$user = null;
}
} else {
// The user is not logged
// you have to send him to $facebook->getLoginUrl()
}
然后,登录用户或获得有效的访问令牌:
if (!$user) {
// display link to $facebook->getLoginUrl();
}
您可能想要检查the example of the Facebook PHP SDK以获得完整的流程,它已被充分记录。
希望有所帮助。
非常感谢我的努力! – koool 2011-05-27 18:50:38
什么“未找到”?如果你的脚本没有找到 - 那么你可能要求错误的网址。这个问题与Facebook无关。 – zerkms 2011-05-23 05:21:57
脚本被找到后,我点击页面中的超链接我在浏览器中看到的URL也发生变化,它有facebook.com和一些令牌...但它然后显示页面没有找到 – koool 2011-05-23 05:30:17
什么网址?...... – koool 2011-05-23 05:31:46