Я пытаюсь решить эту проблему в течение трех дней, это очень просто для тех, кто хорошо знаком с открытым графиком api. Я новичок в интеграции с Facebook, но имею опыт работы с PHP.Хранение маркера доступа
В основном все, что я пытаюсь сделать, это получить следующую информацию от пользователей и сохранить ее в базе данных.
Facebook User ID: Имени Пол Email
Я сделал идентификатор пользователя, имя и пол с помощью:
$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);
Но как мне получить доступ s, а затем использовать его для получения электронной почты из графика?
## 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; ?>
Спасибо, теперь я не могу просто сохранить это в моей базе данных, могу ли я? Я имею в виду, они истекают право? Как я могу его обновить? Я прочитал «отменяю страницу», но на самом деле не понимаю ... –
Теперь я добрался до этого кода ^^ проверить главный пост, по-прежнему не работает .. спасибо. –