我正在facebook中创建一个应用程序,当用户输入我的应用程序时,将进行身份验证,之后我将获得访问令牌和用户ID我现在想要相同用户的详细信息,我必须将其存储在数据库....如何做到这一点 我已经尝试过的代码
<?php
$app_id = "xxxxxxxxxxx";
$canvas_page = "xxxxxxxxxxxxx";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page)."&scope=email,user_birthday";
$signed_request = $_REQUEST["signed_request"];
//print_r($signed_request);
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
//print_r($payload);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
//print_r($data);
if(!isset ($_GET['code'])) {
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
$accessToken = $data["oauth_token"];
echo ("<br/><br/>Welcome User: " . $data["user_id"]);
}
} else {
echo("<script> top.location.href='" . $pageUrl . "'</script>");
}
?>
现在我想要字符串或数组格式的用户名和其他详细信息...... 请帮帮我......
答案 0 :(得分:15)
使用此图API:
https://graph.facebook.com/me?access_token=XXXXXXXXXXXXXXX
您可以使用字段查询参数选择要返回的字段:
答案 1 :(得分:0)
您可以使用自动处理此情况的Facebook PHP SDK并设置访问令牌,也可以使用
手动指定访问令牌setAccessToken($ access_token)方法
并将其传递给用户的访问令牌,并使用api()方法调用Graph API以获取有关用户的数据。如果您想取消SDK,则需要将访问令牌作为参数添加到Graph API端点。