Facebook php sdk getuser()仅在我的localhost上工作

时间:2013-07-17 17:44:51

标签: php facebook facebook-graph-api sdk facebook-php-sdk

所以我用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

感谢帮助者

1 个答案:

答案 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/