2009-09-18 10 views
9

मैं थोड़ी देर के लिए इस पर काम कर रहा हूं और मुझे इसे काम करने के लिए प्रतीत नहीं होता है। ऐसा अक्सर पूछताछ किया जाता है, लेकिन शायद ही कभी उत्तर दिया गया सवाल है।फेसबुक ऑफ़लाइन एक्सेस कुंजी और लॉगिन

मैं चाहता हूं कि मेरी वेबसाइट के उपयोगकर्ता मेरी वेबसाइट के साथ अपने फेसबुक खाते को लिंक करें। तो वे मेरी साइट पर अपनी स्ट्रीम e.t.c देख सकते हैं।

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

ऐसा करने के लिए मुझे समझ में आता है कि मुझे ऑफ़लाइन पहुंच प्राप्त करने की आवश्यकता है। (https://developers.facebook.com/docs/authentication/) हालांकि मेरी खोज से यह प्रलेखन पर थोड़ा सा प्रकाश प्रतीत होता है (Facebook offline access step-by-step)।

मुझे पहले से ही पता है कि ऑफलाइन एक्सेस के लिए कैसे पूछना है, मैं इस बारे में अनिश्चित हूं कि इससे डेटा कैसे प्राप्त किया जाए।

तो मेरे प्रश्न इस प्रकार हैं;

  1. मैं अनुरोध करने के बाद नई infinate सत्र कुंजी कैसे प्राप्त करूं?
  2. एक बार मेरे पास यह है और इसे डेटाबेस में संग्रहीत करें - मैं सामान्य सीमित पहुंच कुंजी के माध्यम से इसके साथ एक फेसबुक उपयोगकर्ता कैसे बना सकता हूं?

बस और जानकारी के लिए। मैं एलियट Haughin के Facebook connect library हालांकि साथ PHP (codeigniter) का उपयोग कर रहा है, तो आप मुझे कोड नियमित php लाइब्रेरी का उपयोग कर दे सकते हैं मैं सिर्फ यह बदल देंगे

धन्यवाद बहुत बहुत

उत्तर

6

दाएं। कोड के चारों ओर कुछ और खोज और पोकिंग के बाद। मैं यह समझ गया।

मैंने इसे कई उपयोगकर्ताओं के लिए और एक सप्ताह के दौरान परीक्षण किया है और यह एक आकर्षण की तरह काम करता है।

जब आपको ऑफ़लाइन_एसीसी की अनुमति मिल गई है, तो सत्र कुंजी और उपयोगकर्ता आईडी संग्रहित करें। (जहां भी आप चाहते हैं। मैं अपने डेटाबेस में मेरा स्टोर करता हूं)।

असीमित सत्र कुंजी इस df4175330aaddb9d50fd8f84-30000799 जैसे कुछ 'डैश' उपयोगकर्ता आईडी होने के बाद कुछ दिखाई देगी।

तो अगली बार जब आप एपीआई फोन में कोड की इस पंक्ति जोड़ने

$ this-> FB-> set_user ('फेसबुक यूज़र आईडी', 'ऑफ़लाइन पहुँच सत्र कुंजी', 0)। एनबी शून्य समाप्त होने से पहले समय की मात्रा है। 0 = कभी नहीं।

मेरे पुस्तकालय में मेरे कोड के रूप में

$this->fb = new Facebook($this->_api_key, $this->_secret_key);  
//Query Database to see if user had enabled offline access. 
//If So extract the userid and session key 
$this->fb->set_user($fbuserid, $fbsess, 0); 

इस प्रकार मेरी परीक्षण इस पूरी तरह से काम किया है में है। अब मेरे उपयोगकर्ता ऑफ़लाइन_एसीएसी अनुमति देने के बाद, मेरी साइट में लॉग इन कर सकते हैं और फेसबुक स्वचालित रूप से कर सकते हैं। यह वर्तमान में समस्याओं के बिना एक सप्ताह के लिए काम कर रहा है।

मुझे लगता है कि सब कुछ है। लेकिन अगर मैंने कुछ छोड़ दिया तो मुझे बताएं।

+0

फेसबुक PHP एसडीके में अब 'set_user() 'विधि नहीं है। कोई विचार यह कैसे नए एसडीके में काम करेगा? –

+0

हैलो दोस्तों, ऐसा लगता है कि यह बदल गया है। मैं नीचे एक उदाहरण कॉल पोस्ट करता हूं: \t \t $ data_api ['access_token'] \t = $ fb_access_token; \t \t $ data_api ['query'] \t \t \t = "फोटो से चयन करें जहां सहायता करें (एल्बम से चयन सहायता जहां मालिक = '$ fb_uid')"; \t \t $ data_api ['method'] \t \t = 'fql.query'; \t \t $ परिणाम = $ यह-> फेसबुक-> एपीआई ($ data_api); यह नए php api – Herr

1

मैं फेसबुक के साथ काम कर रहा है के बाद से कनेक्ट उन्होंने इसे एफ 8 में घोषित किया और इसे एक साल पहले बीटा में रखा, मैं कई बड़ी वेबसाइटों पर हमारे फेसबुक कनेक्ट एकीकरण के बैकएंड पक्ष के प्रभारी हूं, और मैंने विशेष रूप से इस मुद्दे पर काफी समय बिताया है।

यहां a good post on the topic है, और यहां a bug filed 3 months ago है।

लंबी कहानी छोटी, फेसबुक सक्रिय रूप से इस प्रकार के सत्र प्रचार का समर्थन नहीं कर रहा है - हाँ, यह in the docs है - लेकिन यह काम नहीं करता है। यह स्पष्ट रूप से कुछ नहीं है जो वे वास्तव में आंतरिक रूप से परीक्षण कर रहे हैं।

और अनुभव से, मैं आपको बताता हूं: यदि यह अच्छी तरह से प्रलेखित नहीं है, आमतौर पर उपयोग की जाने वाली सुविधा है, तो आप इसे बनाए रखने के लिए फेसबुक पर भरोसा नहीं कर सकते।

+0

तो क्या आपकी सलाह परेशान नहीं होगी/इसके तय होने तक प्रतीक्षा करें? या मुझे बैक-एंड का मानना ​​चाहिए कि यह भविष्य में कुछ चरण में तय किया जाएगा? –

+0

मान लें कि यह तय नहीं किया जाएगा। बग को पहले से ही महीनों के लिए अनदेखा कर दिया गया है, और मैंने जो भी बग्स की सूचना दी है, उन्हें ठीक करने के लिए एक वर्ष या अधिक समय लग गया है, अगर वे कभी भी तय किए गए हैं। –

0

जब भी कोई उपयोगकर्ता अपना पासवर्ड बदलता है तो कुंजी समाप्त हो जाती है। यह दस्तावेज पर लिखा गया है।

+1

में काम करता है जो मेरे प्रश्न से संबंधित नहीं है। –

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