私は3日間この問題を解決しようとしています。オープングラフの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);
どうすればアクセス権を得ることができますかそのトークンを使用してグラフから電子メールを取得しますか?
## 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; ?>
ありがとう、今私はそれを私のデータベースに保存することはできませんか?私の言うことは、彼らの権利が失効しているということですか?それをどうやって更新すればいいですか?私は '取消しのページ'を読んだことがありますが、実際には理解していません。 –
私は今このコードを持っています^^メインポストをチェックしても、まだ動作していないようです..ありがとう。 –