2010-06-27 17 views
12

मुझे अपनी वेबसाइट को फेसबुक से कनेक्ट करने का प्रयास करने में समस्याएं आ रही हैं। मैं इसे क्या करना चाहता हूं, उपयोगकर्ताओं को फेसबुक से कनेक्ट करके अपने खातों को बढ़ाने की अनुमति देता है (मुझे फेसबुक के साथ लॉगिन करने में सक्षम होने की आवश्यकता नहीं है, मैं इसके बजाय ओपनआईडी का उपयोग कर रहा हूं)। मेरी वेबसाइट कोडइग्निटर ढांचे में चलती है।एक कोड इग्निटर वेबसाइट पर फेसबुक कनेक्ट करना

मैं जो कुछ भी करूँगा वह सब कुछ हटा देता है जो मैंने कोशिश की है और जब तक यह काम बंद नहीं कर लेता है तब तक आप मेरे चरणों तक चलते हैं।

चरण 1: जावास्क्रिप्ट एसडीके और XFBML

पहले सेट करें मैं अपने <html> टैग करने के लिए FBML कल्पना के लिए एक संदर्भ जोड़ें:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> 

फिर, मेरी <body> टैग के बाद, मैं जोड़ने :

<script src="http://static.new.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script> 

अब यहाँ पहली समस्या मैं but have now solved था आता है। समस्या यह थी कि जावास्क्रिप्ट एसडीके के लिए दस्तावेज़ कहते हैं कि पैरामीटर के रूप में FB.init() विधि requires the appId, लेकिन यह गलत साबित हुआ। मुझे इसके बजाय मेरी एपीकी पास करने की जरूरत थी। तो यह कोड है कि मैं के साथ समाप्त हो गया है, कि मेरे </body> टैग से पहले चला जाता है:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
     apiKey : '<?php echo $this->config->item('facebook_api_key'); ?>', 
     status : true, 
     cookie : true, 
     xfbml : true 
    }); 

</script> 

अब मैं अपने पृष्ठों के लिए XFBML संस्थाओं में जोड़ सकते हैं, जैसे कि जो सिर्फ उम्मीद के रूप में काम करता है <fb:login-button></fb:login-button>। मैं इसे क्लिक करता हूं और यह एक बॉक्स को पॉप करता है कि क्या मैं अपनी वेबसाइट को अपनी फेसबुक प्रोफ़ाइल तक पहुंचने की अनुमति देना चाहता हूं। मैं हाँ कहता हूं, और फिर यदि मैं फेसबुक में अपनी एप्लिकेशन सेटिंग्स की जांच करता हूं, तो मैं देख सकता हूं कि मेरी वेबसाइट को जोड़ा गया है।

तो यह चरण ठीक काम करता है।

चरण 2: तो अब मैं PHP लाइब्रेरी को जोड़ना होगा पीएचपी पुस्तकालय

ठीक सेट अप करें। तो 'कोडिनेटर फेसबुक लाइब्रेरी' के लिए एक त्वरित Google खोज Elliot Haughin's library बताती है। मैं फ़ाइलों को डाउनलोड करता हूं, उन्हें सभी जगहों पर सही जगह पर रखता हूं और फिर पुस्तकालय लोड करने पर काम करता हूं।

अब वर्तमान समस्या होती है। मैं अपने नियंत्रक निर्माता के लिए निम्न कोड (पुस्तकालय के साथ दिए गए उदाहरण से लिया गया) जोड़ें ताकि यह हर पृष्ठ पर होता है:

$this->load->library('facebook_connect'); 
$this->data['fb_user'] = $this->facebook_connect->user; 
$this->data['fb_userid'] = $this->facebook_connect->user_id; 

लेकिन मैं कुछ भी नहीं मिलता है, तो मैं print_r($this->data['fb_user']); है। कभी। चाहे मैं फेसबुक में लॉग इन हूं, लॉग आउट हो गया हूं, लॉग इन किया है और अपनी साइट पर अपनी साइट इत्यादि आदि को जोड़ा है। उपयोगकर्ता और user_id कभी सेट नहीं होते हैं। मुझे हालांकि कोई त्रुटि नहीं है।

जहां तक ​​मुझे पता है, मानों को सेट किया जाना चाहिए ताकि मुझे पता चले कि मेरी साइट ब्राउज़ करने वाला व्यक्ति अपने फेसबुक खाते में लॉग इन है या नहीं। यदि वे हैं, तो मैं देख सकता हूं कि उन्होंने मेरे आवेदन की अनुमति दी है या नहीं। अगर उन्होंने इसे अनुमति दी है, तो मैं उन्हें अपनी साइट से डिस्कनेक्ट कर सकता हूं, यदि नहीं, तो मैं उन्हें कनेक्ट कर सकता हूं। लेकिन अगर ये चर आबादी नहीं आती है तो मैं कुछ भी नहीं कर सकता।

मैंने पुस्तकालय के स्रोत के अंदर चारों ओर घूमने की कोशिश की है, लेकिन मैं वास्तव में इसके चारों ओर अपना सिर नहीं प्राप्त कर सकता। और मुझे आशा है कि इसके लिए वास्तविक समाधान पुस्तकालय को अलग-अलग हैकिंग में शामिल नहीं करेगा। मैं एक कोडइग्निटर विशिष्ट पुस्तकालय काम करने की उम्मीद करता हूं।

कोई विचार?

बहुत बहुत धन्यवाद। :)

+0

फेसबुक का एक आधिकारिक php-sdk है जो कोडनिर्देशक के भीतर अच्छी तरह से काम करता है ... http: // jondavidjohn।कॉम/बी/पी – jondavidjohn

उत्तर

2

गीथब पर होस्ट किए गए डैनी ट्रैन द्वारा this Facebook Library आज़माएं। अद्भुत काम करता है और सेट अप पाने के लिए काफी आसान है।

1

क्या आपने अपनी सार्वजनिक निर्देशिका में xd_reciever फ़ाइल जोड़ दी ????

समस्या यह समस्या उत्पन्न कर सकती है bcoz xd_reciever आपके ऐप के बीच चैनल को फेसबुक पर डिफाईन कर सकती है।

2

आप नया (http://connect.facebook.net/en_US/all.js) और पुराना (http://static.new.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php) जेएस एसडीके लोड कर रहे हैं। पुराने के संदर्भ को हटा दें। नया जेएस एसडीके एक हस्ताक्षरित कुकी सेट करेगा, जिसे नए PHP एसडीके का उपयोग करके (सुरक्षित रूप से) पढ़ा जा सकता है: http://github.com/facebook/php-sdk। जेएस एसडीके के लिए यह लेख उदाहरण भी मदद कर सकता है: http://fbrell.com/auth/all-in-one

2

ये लिंक आपकी किसी भी फेसबुक प्रोग्रामिंग समस्याओं को हल कर सकते हैं।

http://developers.facebook.com/docs/authentication/

http://net.tutsplus.com/tutorials/php/how-to-authenticate-your-users-with-facebook-connect/

http://realfoot.com/facebook_connect/login_page.php

Facebook Login Button: Can I prevent auto page reload after login?

Codeignitor, Facebook javascript SDK, PHP SDK Redirect after facebook login doesnt getUser() until refresh

http://www.braintilt.com/fbcookies.php

http://www.permadi.com/blog/2011/02/facebook-authenticationlogin-process-in-popup-or-not/

http://developers.facebook.com/docs/reference/javascript/FB.login/

http://ottopress.com/wordpress-plugins/simple-facebook-connect/

http://devtacular.com/articles/bkonrad/how-to-integrate-with-facebook-connect/

http://developers.facebook.com/docs/guides/web/

http://www.1stwebdesigner.com/tutorials/facebook-integrate/

http://worldpointx.com/2009/05/authentication-rot/

https://github.com/facebook/php-sdk/

http://www.justin-klein.com/projects/wp-fb-autoconnect

http://en.kioskea.net/forum/affich-12130-problems-connecting-to-facebook

http://en.kioskea.net/s/Cannot+login+on+website+using+facebook+login

http://www.google.com/support/forum/p/Chrome/thread?tid=310bc994b12d2750&hl=en http://www.google.com/support/forum/p/Chrome/thread?tid=310bc994b12d2750&hl=en

http://moodle.org/mod/forum/discuss.php?d=142036

http://www.webtechnick.com/blogs/view/229/CakePHP_Facebook_Plugin_Auth_Facebook_and_more

+2

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/18783148) –

संबंधित मुद्दे