1

我正在尝试使用 PHP 编写 Facebook 应用程序。我已经从 github ( https://github.com/facebook/facebook-php-sdk ) 下载了 PHP SDK,并且我的服务器上的 src 文件与我的应用程序位于同一目录中。

我只是想启动一个简单的应用程序并运行它,所以我从https://developers.facebook.com/docs/php/howto/profilewithgraphapi/复制了访问用户个人资料的代码。

填写我的应用程序信息(审查了应用程序 ID 和密码),我得到:

 <?php
  // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('facebook.php');

  $config = array(
    'appId' => 'CENSORED',
    'secret' => 'CENSORED',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?php
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

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

    }

  ?>

  </body>
</html>

但是,当我运行它时,就好像代码没有通过 $config 数组执行。我只是在一个大段中得到一堆文本作为输出(我正在使用画布 URL 和所有内容在 Facebook 上对应用程序进行编程)。

它看起来像这样(审查分别是应用程序 ID 和秘密):

'审查', '秘密' => '审查', ); $facebook = 新的 Facebook($config); $user_id = $facebook->getUser(); ?> api('/me','GET'); 回声“名称:”。$user_profile['name']; } catch(FacebookApiException $e) { // 如果用户已注销,即使访问令牌无效,您也可以拥有 // 用户 ID。// 在这种情况下,我们会得到一个异常,所以我们将 // 只要求用户在这里再次登录。$login_url = $facebook->getLoginUrl(); echo '请登录。'; error_log($e->getType()); error_log($e->getMessage()); } } else { // 没有用户,打印用户登录的链接 $login_url = $facebook->getLoginUrl(); echo '请登录。'; } ?>

我在这方面花了几天时间,但 Facebook 缺乏 n00b 级别的文档并没有帮助。那么为什么我得到一堆文本而不是预期的输出呢?

一些让您入门的猜测: 1. 某些地方的代码已弃用并且不再有效 2. 我需要更多的文件,而不仅仅是 src 中的文件 3. 我的服务器或 Facebook 没有正确处理 PHP(似乎不太可能)

谢谢你的帮助!

4

0 回答 0