问题描述
|
我有一个基于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);
}