我已經搜索谷歌的圖書館爲Facebook
,並發現這一個:http://www.haughin.com/code/facebook/, 但它似乎有點過時。 我想爲這一個東西:https://github.com/facebook/php-sdk/有沒有適當的codeigniter庫來與facebook的工作php sdk
我寫我自己的包裝它同時,卻好像我在與$_REQUEST['...']
我已經搜索谷歌的圖書館爲Facebook
,並發現這一個:http://www.haughin.com/code/facebook/, 但它似乎有點過時。 我想爲這一個東西:https://github.com/facebook/php-sdk/有沒有適當的codeigniter庫來與facebook的工作php sdk
我寫我自己的包裝它同時,卻好像我在與$_REQUEST['...']
因此,這裏的一些問題是我以前使用Facebook PHP SDK一招與我的CodeIgniter應用程序。從SDK代碼中,取出Facebook.php並取出FacebookApiException類,並將其放入一個名爲FacebookApiException.php的新文件中。現在,我將facebook.php和FacebookApiException.php放入模型文件夾中,並將它們用作常規模型。
以下是我用於驗證用戶身份和通過Facebook訪問應用程序的代碼。
function facebook_login(){
# Creating the facebook object
$facebook = new Facebook(array(
'appId' => 'XXXXXXXXXXXXXXXXX',
'secret' => 'XXXXXXXXXXXXXXXXX',
'cookie' => true
));
# Let's see if we have an active session
$session = $facebook->getSession();
if(!empty($session)) {
# Active session, let's try getting the user info
try{
$uid = $facebook->getUser();
$param = array(
'method' => 'users.getinfo',
'uids' => $uid,
'fields' => 'uid, username, name, profile_url, pic_big',
'callback' => ''
);
$user = $facebook->api($param);
} catch (Exception $e){
$url = $facebook->getLoginUrl(array(
'req_perms' => 'user_about_me, email, status_update, publish_stream, user_photos',
'next' => site_url() . 'user/facebook_login',
'cancel' => site_url()
));
redirect($url);
}
if(!empty($user)){
# User info ok?
print_r($user);
// Add user oauth token and info to DB, and then redirect to some controller in your application.
redirect('/'); // redirect to homepage
} else {
# For testing purposes, if there was an error, let's kill the script
die("There was an error.");
}
} else {
# There's no active session, let's generate one
$url = $facebook->getLoginUrl(array(
'req_perms' => 'user_about_me,email,status_update,publish_stream,user_photos',
'next' => site_url() . 'user/facebook_login',
'cancel' => site_url()
));
redirect($url);
}
}
希望這會有所幫助。
你可以通過繼承Facebook SDK類來編寫一個小型庫來清楚地處理它。請按照我的帖子http://www.betterhelpworld.com/codeigniter/how-to-use-facebook-php-sdk-v-3-0-0-with-codeigniter來運作。
404找不到。今後,請創建一個適當的答案。不要只是外部鏈接。 – 2012-12-18 19:59:26
您可以在Codeigniter中輕鬆使用官方PHP Facebook SDK。唯一的問題就是Facebook SDK需要$ _REGISTER和笨,你不用它(因爲mod_rewrite的的)
這裏是小的解決方案:
1 - 這是$ _REGISTER問題。使用此以前裝載Facebook類:
parse_str($_SERVER['QUERY_STRING'], $_REQUEST);
2- Facebook的SDK有2個文件。將它們放入一個文件並將其保存到您的應用程序/幫助程序文件夾facebook_helper.php。然後加載和使用是這樣的輕鬆是這樣的:
$this->load->helper('facebook');
$facebook = new Facebook(array('appId' => 'XXX', 'secret' => 'xxx'));
// ... The rest is not different. You can read Facebook SDK examples
感謝您的回覆,我已經在做這個確切的事情(如'我自己wrapper')。如果有更多CodeIgniter-ish,我只是漫步。但是CodeGo.net,$ _REQUEST ['...']'工作_ CodeGo.net,與CodeIgniter,尤其是所有mod_rewrite魔術? – David 2010-12-19 19:14:45
也許如果你可以更具體的問題,你$ _REQUEST [...]我可以幫助回答具體問題。到目前爲止,我還沒有與CodeIgniter的PHP SDK有任何問題。 – Shivaas 2010-12-20 03:29:46