无法与Facebook应用程序进行会话? (使用其Graph API)

时间:2010-05-08 20:26:48

标签: authentication facebook facebook-graph-api

使用新的Facebook API我只有几行Facebook应用程序:

<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) ""
}

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

我正在关注以下示例:

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

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

尝试使用dreamhost.com和netfirms.com上的托管公司,结果是一样的。

2 个答案:

答案 0 :(得分:2)

会话开启并不意味着您已登录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);
  }
}

答案 1 :(得分:1)

$session = $facebook->getSession(); 

当你使用新的图形api调用它时,它表示方法不存在。

致命错误:在/ home / pri中调用未定义的方法Facebook :: getSession()...