9

我的小 Facebook 应用程序遇到了一些问题,我一直收到这个该死的错误,“致命错误:调用未定义的方法 Facebook::require_login()”,现在有趣的是,我完全相同的代码正在为其他人工作,但不适合我,这是代码。

<?php
require_once( "facebook-php-sdk/src/facebook.php" );
$api_key = "my_api_key";
$secret = "my_secret_key";

$facebook = new Facebook( $api_key, $secret );
$user_id = $facebook->require_login();

echo "Hello World";
echo "Current logged in as <fb:name uid=\"$user_id\" />";
?>

正如你所看到的,它是一个简单的 hello USER 应用程序,但由于某种原因,它拒绝为我工作,所以如果有人能帮忙,那就太好了,提前谢谢!

4

4 回答 4

9

您使用的是最新版本的 PHP sdk吗?

Facebook::require_login()是旧 SDK 中的一种方法。

新的 SDK(与 Graph API 一起发布)不向后兼容。

要求登录的概念甚至不再存在 - 您只需获取用户的 ID。

$user_id = $facebook->getUser();
于 2010-06-08T19:10:38.043 回答
0

您是否可能仔细检查过您在 facebook 注册的域与您正在开发的开发站点相同?可能是,但如果你不注意,那会得到你。让我第一次迁移:]

于 2011-03-31T21:30:21.113 回答
0

然而,一个明目张胆的答案是,您是否在您在 Facebook 上注册您的应用程序的网络域上。如果您注册了 xxxyy.com,您只能在那里使用您的应用程序。

于 2011-01-04T20:20:09.127 回答
0

试试这个功能:


function appInstance($fbconfig){
    try{
        include_once "facebook.php";
    }
    catch(Exception $o){
        echo '<pre>';
        print_r($o);
        echo '</pre>';
    }
    $facebook = new Facebook(array(
      'appId'  => $fbconfig['appid'],
      'secret' => $fbconfig['secret'],
      'cookie' => true,
    ));
    $session = $facebook->getSession(); 
    $fbme = null;
    // Session based graph API call.
    if ($session) {
      try {
        $uid = $facebook->getUser();
        $fbme = $facebook->api('/me');
      } catch (FacebookApiException $e) {
          //d($e);    //debug
          'Facebook took too long to respond, try again in a few minutes.';
      }
    }
    return $uid;
    return $fbme;
    return $facebook;
}//end appInstance()

调用该函数后,使用 $fbme 提取从烫发中获得的任何信息,例如 so$firstName=$fbme['first_name']$email=$fbme['email'].

于 2010-12-13T22:48:43.080 回答