0
我一直在试图解决这个问题三天了,对于那些知道开放图API的人来说,这非常简单。我是新来的Facebook集成,但有一些PHP的经验。存储访问令牌
基本上所有我试图做的是从用户检索以下信息并将其存储在数据库中。
的Facebook用户ID: 名称 性别 电子邮件
我以做用户ID,姓名,性别:
$contents = file_get_contents ('https://graph.facebook.com/'.$user);
$json=json_decode($contents,true);
$userid = $json['id'];
$username = $json['name'];
$usergender = $json['gender'];
$useremail = $json['email'];
这工作,我知道我需要问权限访问我使用此代码完成的电子邮件:
$app_id = "211665122244023";
$canvas_page = "http://apps.facebook.com/midcitymafia/";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,publish_actions";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
但是,如何获取acces然后用它从图表中检索电子邮件?
## UPDATE,这是我当前的代码,仍然不能似乎得到它的工作...require 'src/facebook.php';
$app_id = "211665122244023";
$canvas_page = "http://apps.facebook.com/midcitymafia/";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,publish_actions";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
$graph = json_decode(file_get_contents("https://graph.facebook.com/".$user_id . "/?accesstoken=" .$data['access_token']));
}
$userid = $graph->id;
$username = $graph->name;
$usergender = $graph->gender;
$useremail = $graph->email;
?>
<br>
<?php echo 'ID: ' . $userid; ?>
<br>
<?php echo 'Name: ' . $username; ?>
<br>
<?php echo 'Gender: ' . $usergender; ?>
<br>
<?php echo 'Email: ' . $useremail; ?>
谢谢,现在我不能将它存储在我的数据库中吗?我的意思是,他们到期了吗?我将如何去更新它?我已阅读'撤销页面',但不真正了解... – 2012-01-11 13:34:21
我现在得到了这个代码^^检查主帖,仍然没有工作..谢谢。 – 2012-01-11 13:46:25