在codeigniter中调用多个FB Graph API请求

时间:2014-06-24 21:03:40

标签: facebook api codeigniter

我正在使用Facebook登录功能,该功能可以顺利运行,但我尝试使用Google,但无法找到我想要的任何内容。

我需要获取用户个人资料图片,兴趣,喜欢,书籍,电影,音乐。下面的代码是我的控制器工作正常。

  

类Welcome扩展了CI_Controller {

     

public function __construct(){parent :: __ construct();

     

}     公共职能指数(){

    $fb_config = array(
        'appId'  => '550765875685678567',
        'secret' => 'e03771716c87658765843535ac38'
    );

    $this->load->library('facebook', $fb_config);

    $user = $this->facebook->getUser();

    if ($user) {
        try {
            $data['user_profile'] = $this->facebook->api('/me');

        } catch (FacebookApiException $e) {
            $user = null;
        }
    }

    if ($user) {
        $data['logout_url'] = $this->facebook
            ->getLogoutUrl();
    } else {
        $data['login_url'] = $this->facebook
            ->getLoginUrl($params = array('scope' => "email,user_birthday, 
     

user_likes,> user_interests,user_location,   read_friendlists,user_checkins,   user_religion_politics,user_photos,   user_likes,user_hometown,user_about_me"));           }

    $this->load->view('welcome',$data);
}
     

}

现在,如果我想跑

 $albums = $facebook->api('/me/albums');

在相同的功能中,我将如何实现这一目标?或者如何在此处运行多个api调用并将其包含在我的$ data [' user_profile']中?

全部谢谢

1 个答案:

答案 0 :(得分:0)

您可以按顺序运行任意数量的API调用,并将它们放入数据数组中。例如:

$data['user_profile'] = $this->facebook->api('/me');
$data['user_albums'] = $this->facebook->api('/me/albums');

多次通话不会导致任何问题。