2011-06-13 92 views
2

我有一个基于CI的应用程序,允许用户发布类似于Facebook墙的更新流。从Codeigniter应用程序发布在Facebook墙上

目前,用户可以使用FB连接通过Facebook向我的应用程序进行身份验证。

我想提供一个用户的可能性 - 当发布到我的应用程序的墙上时也可以发送相同的帖子到他/她的Facebook墙上。

似乎很清楚FB's Graph API支持这一点,但我很难找到路线图/代码/库来帮助解决这个问题。上面的链接的例子是无益的,并没有给我任何想法如何实现这一点。

例如,此功能的控制器将如何?

我发现Elliot的FB CI库here,但我不确定是否需要这样才能完成我想要的功能。

任何意见非常感谢 - 谢谢。

回答

1

我最终使用curl的codeigniter帮助函数发布到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); 
    } 
+1

多数民众赞成在伟大的。你可以发布模型或至少如何获取令牌? – Rooster 2011-12-26 15:37:12

1

我会建议你使用Facebook PHP SDK

在你的控制器只包括Facebook的PHP SDK例如:​​

为了让墙壁张贴下面的代码应该做的伎俩:

$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); 
+0

THX @pav - 我会尝试了这一点,并张贴回来结果 – pepe 2011-06-14 01:15:22

+0

代码片段您所提供的原因服务器错误(如果我删除它没有任何错误)。任何想法为什么? – pepe 2011-06-14 04:22:26

+0

发布您的代码使用? – Pav 2011-06-14 04:56:31

相关问题