0

所以我用php facebook sdk做了一个网络应用程序并在我的本地主机上运行它......一切似乎都很好,函数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>';
}

和我的开发者信息:

感谢帮手

4

1 回答 1

1

我有同样的问题。就我而言,它与 cURL 和 SSL 证书有关。

我仍在试图弄清楚为什么它在我的本地主机上没有问题,我认为这可能是我的 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/

于 2013-10-13T13:06:53.253 回答