2012-05-31 105 views
3

我正在使用FB PHP SDK将消息发布到用户的墙上。 一旦用户通过验证FB我允许他们使用这个辅助函数Codeigniter和Facebook PHP SDK - 发布到用户墙上的错误

function post_facebook($fb) { 

    $CI =& get_instance(); 

    $CI->load->library('facebook'); 

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

    $facebook = new Facebook($config); 
    $user_id = $facebook->getUser(); 

    if ($user_id) { 

     $facebook->api('/me/feed', 'POST', array(
               'message' => $fb['post_text'], 
              ) 
        ); 
    } 
} 

这实际上发出的帖子FB和它显示在墙壁上张贴的消息。

但在Firebug我可以看到这个错误

<h4>A PHP Error was encountered</h4> 

<p>Severity: Warning</p> 
<p>Message: Missing argument 1 for Facebook::__construct(), called in /var/www/vhosts/example.com/httpdocs/system/core/Loader.php on line 1099 and defined</p> 
<p>Filename: libraries/Facebook.php</p> 
<p>Line Number: 36</p> 

</div><div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> 

<h4>A PHP Error was encountered</h4> 

<p>Severity: Notice</p> 
<p>Message: Undefined variable: config</p> 
<p>Filename: libraries/Facebook.php</p> 
<p>Line Number: 40</p> 

</div> 

任何想法,我做错了吗?

回答

9

您所看到的错误是从呼叫$this->load->library('facebook'),你应该通过$配置阵列作为参数传递给它,并从CI对象访问库,就像这样:

$config = array(
    'appId' => '123123123123', 
    'secret' => '567567567567' 
); 
$CI->load->library('facebook', $config); 

$user_id = $CI->facebook->getUser(); 

了解更多关于装载机在这里:

http://codeigniter.com/user_guide/libraries/loader.html

+1

完美,感谢了一堆 – pepe

+0

欢迎您! :) – elias

相关问题