2011-06-13 89 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

相關問題