Web サイトで Facebook 自動投稿を有効にしたいと考えています。
最初にアプリを作成し、Facebook ドキュメントに従って、PHP に facebook-sdk を使用し、APP-ID と APP-SECRET を挿入し、LOGIN-URL を作成し、スクリプト (Facebook ドキュメントのようなすべて) に追加しましたが、私はまだ問題があります!!
問題は:
ユーザーが初めて私のページにアクセスすると、ログインリンクが表示されます。それをクリックすると、アプリのアクティビティを許可するための Facebook ダイアログ ページにリダイレクトされます。この後、Facebookがユーザーを私のキャンバスページにリダイレクトすると、ログインリンクが再び表示されます!! (私のスクリプトでは getUser() 関数が正しく機能していないようです!)。
Facebookガイドに基づいて、ユーザーはユーザープロファイルの詳細を確認する必要があります...それでもログインリンクは表示されます。
どうすればこの問題を解決できますか...?
<?php
require_once("libs/facebook.php");
$config = array(
'appId' => 'XXXX',
'secret' => 'XXXX'
);
$fbConnect = new Facebook($config);
$user_id = $fbConnect->getUser();
if($user_id)
{
try {
$userProfile = $fbConnect->api('/me', 'GET');
echo "Name: " . $userProfile['name'];
} catch (FacebookApiException $e) {
$loginUrl = $fbConnect->getLoginUrl();
echo "<a href='" . $loginUrl . "'>LOGIN 2</a>";
}
}
else
{
$loginUrl = $fbConnect->getLoginUrl(array( 'scope' => 'publish_stream' ));
echo "<a href='" . $loginUrl . "'>LOGIN 1</a>";
}
?>
ユーザーには常に「LOGIN 1」が表示されます。$user_id が常に null であることを意味します (アプリがアクティビティを許可する前と後)!! アプリの許可後 (ユーザーが loginUrl リンクを初めてクリックしたとき)、URL クエリ文字列に「stat」と「code」が含まれています。それでも「LOGIN 1」が表示されます!