5

सबसे पहले, मैं यह ध्यान रखना चाहता हूं कि मैं ऑफ़लाइन_एसीसी अतिरिक्त विस्तार की अनुमति नहीं लेना चाहता हूं। यह एक कारण के लिए है लेकिन यह नहीं है।पेज रीलोड के बिना समाप्ति के बाद आपको एक नया एक्सेस टोकन कैसे मिलता है?

मैं फेसबुक जावास्क्रिप्ट एपीआई का उपयोग कर एक एचटीएमएल 5 ऐप बना रहा हूं। उपयोगकर्ता लंबे समय तक गेम खेलने के लिए एक पृष्ठ पर है। मुझे FB.getLoginStatus के साथ प्रवाह की शुरुआत में एक एक्सेस टोकन मिलता है लेकिन यह टोकन किसी बिंदु पर समाप्त हो जाता है और इसलिए मैं उपयोगकर्ता के लिए फेसबुक से पूछताछ करने में असमर्थ हूं।

मैंने पहली टोकन विफल होने पर FB.getLoginStatus को फिर से कॉल करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह मुझे एक नया एक्सेस टोकन नहीं दे रहा है।

पृष्ठ को फिर से लोड करने का एकमात्र तरीका है? बेकार है क्योंकि उपयोगकर्ता का राज्य बाधित है।

उत्तर

4

FB.getLoginStatus उपयोगकर्ता को आपके एप्लिकेशन पर पुनः प्रमाणित करेगा और आपको काम करने के लिए एक नया एक्सेस टोकन देगा। आपको प्रतिक्रिया से नया टोकन प्राप्त करने में सक्षम होना चाहिए। AuthResponse.access टोकन।

क्या पहली टोकन विफल होने के बाद आपको कोई विशेष त्रुटि मिल रही है?

+0

धन्यवाद जॉर्डन। क्या इसे पहले से मैन्युअल रूप से रीफ्रेश करने का कोई तरीका है? हर 15 मिनट में एक बार कहो? मेरे पास एक सेट इंटरवल है जो हर कुछ मिनट में FB.getLoginStatus को कॉल करता है लेकिन मुझे लगता है कि क्या हो रहा है यह है कि उपयोगकर्ता समाप्त होने वाली कुंजी के साथ FB.getLoginStatus को कॉल करने से पहले समाप्त हो चुके टोकन के साथ कॉल कर रहे हैं। एक नया एक preemptively पाने में सक्षम होने के नाते एक बड़ी मदद होगी। –

+1

आपके आवेदन को संभवतः क्या करना चाहिए, इसे किसी भी अपवाद को संभालने का प्रयास करके FB.getLoginStatus के साथ पुनः प्रमाणीकरण करने का प्रयास करके किसी भी अपवाद को संभालना है। तर्क होगा: एफबी बातचीत का प्रयास करें। यदि बातचीत सफल होती है, तो बढ़िया। यदि बातचीत सफल नहीं होती है, तो पुनः प्रमाणित करने के लिए FB.getLoginStatus() को आज़माएं, और उसके बाद फिर से एफबी इंटरैक्शन का प्रयास करें। – Jordan

+0

रोजर। यह कोशिश करेगा। धन्यवाद। –

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