无法运行facebook SDK代码?

时间:2014-01-16 19:26:00

标签: php facebook facebook-php-sdk

我是这个Facebook应用程序的新手,并且非常有兴趣制作一些东西。虽然我是这个编码的初学者......所以,我需要一些帮助

所以,这是代码。

<?php

require_once("app/src/facebook.php");

  $config = array(
      'appId' => 'xxxxxxxxxxxxxxxxxxxx',
      'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
      'fileUpload' => false, // optional
      'allowSignedRequest' => false, // optional, but should be set to false for non-canvas apps
  );
  $facebook = new Facebook($config);

$user = $facebook->getUser();    ?>

Hello <fb:name uid='<?php echo $user; ?>' useyou='false' possessive='true' />!   

当我运行此代码时,它应该向我显示ID的用户名...但它不起作用(返回0),这段代码出了什么问题?

2 个答案:

答案 0 :(得分:1)

阅读Facebook's code example的其余部分,尤其是它测试$user_id变量的部分,如果为空,则提供登录链接。

if($user_id) {
  # [...]
} else {

  // No user, print a link for the user to login
  $login_url = $facebook->getLoginUrl();
  echo 'Please <a href="' . $login_url . '">login.</a>';

}

答案 1 :(得分:1)

我在不同场合遇到过这个问题,但SDK问题并非发生在每个人身上。所以我不确定这里出了什么问题。但我稍微深入了解并找到了解决方案,如下所述。

解决方案:在为此问题尝试许多解决方案后,这对我有用。

在base_facebook.php文件中,找到makeRequest()方法并检查以下Line。

$opts = self::$CURL_OPTS; 

紧接其后,添加此行

$opts[CURLOPT_SSL_VERIFYPEER] = false;  

更多细节可以在这里找到 - http://net.tutsplus.com/tutorials/php/how-to-authenticate-your-users-with-facebook-connect/