通过Codeigniter应用程序在Facebook墙上发布

问题描述

| 我有一个基于CI的应用程序,允许用户发布类似于Facebook墙的更新流。 当前,用户可以使用FB connect通过Facebook通过我的应用程序进行身份验证。 我想为用户提供一种可能性-在发布到我的应用程序的墙上时-也可以将相同的帖子发送到他/她的Facebook墙上。 显然,FB \的Graph API支持功能,但是我很难找到路线图/代码/库来帮助实现此目的。上面链接中的示例无济于事,也没有给我任何实现方法的想法。 例如,用于此功能的控制器的外观如何? 我在这里找到了Elliot的FB CI库,但是不确定是否需要完成我想要的工作。 任何建议都将不胜感激-谢谢。     

解决方法

        我建议您使用Facebook PHP SDK 在您的控制器中,只需包含facebook php sdk,例如:https://github.com/facebook/php-sdk/blob/master/examples/example.php 要在墙上张贴文章,请使用以下代码:
$wall_post = array(\'message\' => \'this is my message\',\'name\' => \'This is my demo Facebook application!\',\'caption\' => \"Caption of the Post\",\'link\' => \'http://mylink.com\',\'description\' => \'this is a description\',\'picture\' => \'http://mysite.com/pic.gif\',\'actions\' => array(array(\'name\' => \'Get Search\',\'link\' => \'http://www.google.com\'))
                );    
$result = $facebook->api(\'/me/feed/\',\'post\',$wall_post);
    ,        我最终使用了带有curl的codeigniter helper函数以发布到Facebook。下面是代码。
  function facebook($data) {

    $CI =& get_instance();

    $CI->load->model(\'fk_model\');

    $token = $CI->fk_model->fk_cookie();

    $attachment =  array(
        \'access_token\'  => $token[\'access_token\'],\'message\'       => $data[\'text\'],\'link\'          => $data[\'link\'],);

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,\'https://graph.facebook.com/\' . $token[\'id\'] . \'/feed\');
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$attachment);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);  //to suppress the curl output
    $result = curl_exec($ch);
    curl_close($ch);
    }