代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

无法与Facebook应用程序建立会话?(使用其图形api)

  •  2
  • nonopolarity  · 技术社区  · 14 年前

    我有一些非常简单的facebook应用程序,使用新的facebook api:

    <pre>
    
    <?php
    
    require 'facebook.php';
    
    // Create our Application instance.
    $facebook = new Facebook(array(
      'appId'  => '117676584930569',
      'secret' => '**********',                 // hidden here on the post...
      'cookie' => true,
    ));
    
    var_dump($facebook);
    
    ?>
    

    但它给了我以下的输出:

    http://apps.facebook.com/woolaladev/i2.php 会泄露出去

    object(Facebook)#1 (6) {
      ["appId:protected"]=>
      string(15) "117676584930569"
      ["apiSecret:protected"]=>
      string(32) "**********"                   <--- just hidden on this post
      ["session:protected"]=>
      NULL                                      <--- Session is NULL for some reason
      ["sessionLoaded:protected"]=>
      bool(false)
      ["cookieSupport:protected"]=>
      bool(true)
      ["baseDomain:protected"]=>
      string(0) ""
    }
    

    由于某些原因,会话为空,但我已登录,可以访问我的主页和个人资料,并在Facebook上运行其他应用程序(以查看我已登录)。

    我正在跟踪样品:

    http://github.com/facebook/php-sdk/blob/master/examples/example.php
    http://github.com/facebook/php-sdk/blob/master/src/facebook.php

    (使用原始url下载:wget http://github.com/facebook/php-sdk/raw/master/src/facebook.php )

    在dreamhost.com和netfirms.com的主机公司上进行测试,结果是一样的。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Ish    13 年前

    会话打开并不意味着您已登录到Facebook。

    会话需要在相关网站中打开,这意味着您应该在您的网站中添加一个“连接到Facebook”按钮并单击它!然后重新加载页面,您将获得会话:)

    $session = $facebook->getSession();
    $me = null;
    if ($session) {
      try {
        $uid = $facebook->getUser();
        $me = $facebook->api('/me');
        $friends = $facebook->api('/me/friends'); //array of friends - for every friend you get id & name
      } catch (FacebookApiException $e) {
        error_log($e);
      }
    }
    
        2
  •  1
  •   Philip    13 年前
    $session = $facebook->getSession(); 
    

    当你用新的图形api调用它时,它会说方法不存在。

    致命错误:调用/home/pri中未定义的方法facebook::getsession()…