所以我用php facebook sdk做了一个web应用程序并在我的localhost上运行它... 一切似乎都很好,GetUser函数让我得到了用户ID ... 然后当我将网络上传到主机服务器时GetUser()总是返回0 ... 有人想出来吗?
这是我的代码,没什么特别的:
$homeurl = 'http://postmaster.net78.net/MainMenu.php'; //return to home
$fbPermissions = 'user_events,friends_events,read_stream,publish_stream,offline_access';
$facebook = new Facebook(array(
'appId' => '****',
'secret' => '***',
));
$user = $facebook->getUser();
echo $user;
if ($user)
{
.......
}
else
{
$_fb['loginurl'] = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope' => $fbPermissions));
$_fb['authed'] = false;
echo '<center><br><br><br><br><br><br><br>For start working with <img src="images/logoBlack.gif" height = "8%" width="15%"> <br>you must connect to your facebook account<br>';
echo '<a href="'.$_fb['loginurl'].'"><img src="images/loginwithfacebook.jpg"></a>';
}
和我的开发者信息: http://img838.imageshack.us/img838/7051/ef7n.png
感谢帮助者
答案 0 :(得分:1)
我有同样的问题。就我而言,它与cURL和SSL证书有关。
我仍然想弄清楚为什么我的localhost没有问题,我认为它可能是我的Webhost上的cURL或SSL设置。
与此同时,快速解决方法是告诉cURL接受任何SSL证书。
将此添加到您的base_facebook.php文件中:
$opts[CURLOPT_SSL_VERIFYPEER] = false;
curl_setopt_array($ch, $opts);
将其放在$result = curl_exec($ch);
从安全的角度来看,它可能不是最佳解决方案,但如果它适用于您,它应该为您提供一个找到永久修复的起点。
请参阅此页面以获取更多信息:http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/