私はfacebook php sdkをcodeigniterと組み合わせて使用しています。私が今抱えている問題は、get_user() を介して user_id を取得できないように見えることです。常に 0 が返されます。これが私のコードです。
<?php
class Facebook_model extends CI_Model {
public function __construct() {
parent::__construct();
$config = array(
'appId' => '....',
'secret' => '...',
'fileUpload' => true
);
$this->load->library('facebook', $config);
$user = $this->facebook->getUser();
$profile = null;
if ($user) {
try {
$profile = $this->facebook->api('/me?fields=id,name,link,email');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
$fb_data = array(
'me' => $profile,
'uid' => $user,
'loginUrl' => $this->facebook->getLoginUrl(
array(
'scope' => 'email,user_birthday,publish_stream'// URL where you want to redirect your users after a successful login
)
),
'logoutUrl' => $this->facebook->getLogoutUrl()
);
$this->session->set_userdata('fb_data', $fb_data);
}
}
Cookieとcodeigniterに問題がある可能性があることをどこかで読みましたが、この問題を解決する方法がわかりません