Facebook页面选项卡,试图回应facebook图形数据,但无法让它工作

时间:2012-08-26 19:22:50

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

我正在尝试为我的Facebook页面标签制作一个应用实例。

我以前做过这个,但由于某种原因,我似乎无法检索任何用户图形信息,并且无法回显页面上的任何图形信息。我已经尝试在多个用户帐户上查看我的页面选项卡进行测试,所有人都这样做。

所以我回到了开头并开始使用github上的sdk中的示例。但是甚至不能让他们工作!!

请参阅我的应用程序实例(直接来自:https://raw.github.com/facebook/facebook-php-sdk/master/examples/example.php

我正在使用最新的sdk:https://github.com/facebook/facebook-php-sdk

<?php

require 'facebook-php-sdk-98f2be1/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => '----------------',
  'secret' => '---------------------------------',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>php-sdk</title>
  </head>
  <body>
    <h1>php-sdk</h1>

    <?php if ($user): ?>
      <a href="<?php echo $logoutUrl; ?>">Logout</a>
    <?php else: ?>
      <div>
        Login using OAuth 2.0 handled by the PHP SDK:
        <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
      </div>
    <?php endif ?>

    <h3>PHP Session</h3>
    <pre><?php print_r($_SESSION); ?></pre>

    <?php if ($user): ?>
      <h3>You</h3>
      <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">

      <h3>Your User Object (/me)</h3>
      <pre><?php print_r($user_profile); ?></pre>
    <?php else: ?>
      <strong><em>You are not Connected.</em></strong>
    <?php endif ?>

  </body>
</html>

不是出于某种原因,当我已经登录时,它要求我登录?

php必须没有错误,因为它正在工作 - 但似乎永远不会工作让我连接看到我的图。

我点击登录,我只看到这个屏幕......

enter image description here

这些是我在开发者Facebook中的应用设置......

enter image description here

显然,您可以看到我的任何网址,但这100%都是正确的凭据。

任何人都可以测试代码并查看它们是否得到相同的结果。我正在使用最新的php SDK:https://github.com/facebook/facebook-php-sdk


我试图用这个回复当前的facebook用户'名字',

但是甚至可以这样做,所以回溯了git hub示例,看看我是否可以让示例应用程序实例工作,但它总是说“你没有连接。”


帮助或建议会很好,谢谢,我已经尝试了大多数事情..

1 个答案:

答案 0 :(得分:0)

代码中的值存储在$ user_profile变量下的数组中。因此,例如,名称将是$ user_profile ['name']。这行代码:

$user_profile = $facebook->api('/me');

基本上是说,查询http://graph.facebook.com ...然后将/我添加到URL的末尾,这是您应用的当前用户。如果你转到http://graph.facebook.com/USER_ID,你会发现它都是一个数组,你可以看到你可以用$ user_profile访问哪些变量。

基本上添加一个数组值,然后设置。