今日、私は Facebook API を使ってほとんどすべてを試しました。PHP SDK を使用しています。ユーザーとして、ページとして、アプリとしてログインすることができました。
可能な限りシンプルなログイン システムを作成しました。
ログイン.php
$app_id = "xx";
$app_secret = "xx";
$my_url = "continue.php";
session_start();
// TOESTEMMING VRAGEN
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=manage_pages";
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
continue.php には次のコードがあります。
session_start();
if($_SESSION['state'] && ($_SESSION['state'] === $_REQUEST['state'])) {
$graph_url = "https://graph.facebook.com/me/accounts?access_token="
. $params['access_token'];
$accounts = json_decode(file_get_contents($graph_url));
print_r($accounts);
} else {
echo("The state does not match. You may be a victim of CSRF.");
}
ログインを取得しています。アクセスを許可できますが、続行すると次のメッセージが表示されます。
stdClass オブジェクト ( [エラー] => stdClass オブジェクト ( [メッセージ] => 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。 [タイプ] => OAuthException [コード] => 2500 ) )
私が達成しようとしていることは次のとおりです。私のウェブサイトの管理部分で、管理者がFacebookページに更新をページアカウントとして投稿できるダイアログを作成したいと考えています。また、アプリとしてログインしようとしましたが、それが正しい解決策かどうかわかりません。
どのソリューションにどのアプローチが必要かについて、ウェブ上でチュートリアルを見つけることができません。アプリとしてログインする利点は、管理者が Facebook アカウントを持っている必要がないことです。しかし、(アプリとして) Facebook ページに更新を投稿できますか?
申し訳ありませんが、私は少し混乱しています。ありがとう。