SDKの例に従って、ログインしていない場合はログインボタンを、ログインしている場合はログアウトするスクリプトを作成しました。ローカルホストで開発している間、すべて正常に機能しましたが、ホスト (freehostia.com) に移動したので、[ログイン] をクリックするとログインしますが、$user = $facebook->getUser(); どういうわけか0を返します(ログインしている別のタブでfacebookを開くかのようにログインします)、 code=xxxxxxx&state=xxxxx# =を含むリンクを取得し ます。Error_log は何もログに記録されないため、役に立ちませんでした。誰か助けてくれませんか?
$facebook = new Facebook(array(
'appId' => $appid,
'secret' => $appsecret,
'cookie' => false,
));
$user = $facebook->getUser();
$me=null;
echo $user;
if ($user) {
try {
$me=$facebook->api('/me');
$facebook->api('/me/feed','post', array(
'message'=>'kalimera!'
));
}
catch (FacebookApiException $e)
{
error_log($e);
$user=null;
}
}
if ($me)
{
$logoutUrl=$facebook->getLogoutUrl();
echo "<a href='$logoutUrl'>Logout</a>";
}
else
{
$loginUrl=$facebook->getLoginUrl(array(
'scope'=>'publish_stream,read_friendlists'
));
echo "<a href='$loginUrl'>Login</a>";
}
また、phpでcurlを有効にし、セッションのパスをsession.save_path = "/"として設定しました