मुझे लगता है कि यह फेसबुक/एंड्रॉयड डेवलपर्स के एक बहुत प्रभाव हो सकता है और अभी तक वहाँ विषय पर है कि काफी चर्चा हो प्रतीत नहीं होता है ...क्या एंड्रॉइड ऐप में विस्तारित ऐक्सेस टोकन के साथ फेसबुक टोकन का विस्तार करना संभव है?
मेरा प्रश्न
किसी को भी सफलतापूर्वक एक ताज़ा किया गया है expandAccessTokenIfNeeded फ़ंक्शन का उपयोग कर टोकन? यदि आपको सफलता मिली है, तो उपकरण (या एमुलेटर) किस संस्करण पर चल रहा था?
पृष्ठभूमि
मैं कह रहा offline_access अनुमति 1st मई 2012 से बहिष्कृत कर दिया जाएगा और फेसबुक अपने नवीनतम एसडीके के उन्नयन की सिफारिश की फेसबुक से एक ईमेल प्राप्त। ठीक।
मैं नवीनतम एसडीके में अपग्रेड किया गया, आधिकारिक फेसबुक ऐप मेरे डिवाइस पर स्थापित है और (अंततः!) सिंगल साइन ऑन ठीक काम कर रहा है। मुझे 60 दिन टोकन मिल रहे हैं जो फिर ठीक है।
जब मैंने expandAccessTokenIfNeeded (संदर्भ संदर्भ, ServiceListener सेवा लिस्टनर) का उपयोग करने का प्रयास किया तब समस्याएं शुरू हुईं। मैं अपने टोकन को लंबे समय तक समाप्त करने के लिए रीफ्रेश नहीं कर सका। मैंने प्रयासों के बीच 24 घंटे इंतजार किया लेकिन टोकन रीफ्रेश नहीं होगा। एक ताज़ा टोकन प्राप्त करने का एकमात्र तरीका लॉग आउट और लॉगिन करना है। यह तब हुआ जब मैंने उदाहरण परियोजना "हैकबुक" का उपयोग किया।
सबसे स्पष्ट जवाब यह है कि मैं कुछ गलत कर रहा हूं, लेकिन, bug report फेसबुक पर सबमिट किया गया था कि ... "चाहिएExtendAccessToken व्यावहारिक रूप से लगभग हमेशा झूठी वापसी करेगा।" इस रिपोर्ट को प्राथमिकता "इच्छासूची" दी गई है।
extendAccessTokenAsNeeded करने के लिए विकल्प()
Facebook documentation about offline_access deprecation टोकन में ग्राफ़ एपीआई का उपयोग बढ़ाया जा सकता है। हालांकि इसमें यूआरएल में disadvantage of needing the "App Secret" शामिल है। एक फायदा यह है कि उपयोगकर्ता को अपने डिवाइस पर आधिकारिक फेसबुक ऐप इंस्टॉल करने की आवश्यकता नहीं होगी।
अन्य विचारों और चिंताओं
Facebook.java में extendAccessTokenIfNeeded समारोह बदलते हमेशा सच लौटने के लिए, मैं मैं एक बार ताज़ा करने के लिए मिल गया लगता है। (कारण मैं कहता हूँ "लगता है कि" है, क्योंकि यह व्यवहार को दोहराने नहीं है और मुझे लगता है मैं एक और सफलता का कोई मौका पहले एक और 24 घंटे इंतजार करना पड़ता है)
मैं देखा कि Hackbook AndroidHttpClient की आवश्यकता है आयातित किया जाना है। यह केवल एपीआई 8 के लिए उपलब्ध है। क्या इसका मतलब है कि फेसबुक एसएसओ (विशेष रूप से टोकन रीफ्रेशिंग) केवल एपीआई 8 और बाद वाले उपकरणों पर काम करने की संभावना है?
Facebook.apk included in the SDK काफी पुराना है। शायद यही कारण है कि टोकन एपीआई 8 और बाद में चलने वाले अनुकरणकों पर ताज़ा नहीं होते?
और आखिरकार, यह सब केवल उन लोगों से संबंधित है जिनके पास आधिकारिक फेसबुक ऐप इंस्टॉल है! आधिकारिक फेसबुक ऐप के बिना उन लोगों के लिए एक और तरीका पूरा करने की आवश्यकता है (अभी शिकायत कर रहा है!)
प्रासंगिक फेसबुक लिंक
Facebook-Android-SDK at GitHub
Facebook offline_access permission deprecation
संबंधित स्टैक ओवरफ़्लो सवालों
Facebook 60 day access token and Deprecated Offline_Access
Facebook access token can not be extended
How would offline_access work after deprecation after May 1st?
Facebook access token can not be extended
Protecting app secret for extendAccessToken usage (Java/Android)
"फेसबुक.जेवा में विस्तारित एक्सेटोकनइफनिएड फ़ंक्शन को बदलकर हमेशा सच होने के लिए, मुझे लगता है कि मुझे इसे एक बार रीफ्रेश करने के लिए मिला है। (कारण मैं कहता हूं" सोचो "क्योंकि यह व्यवहार को दोहराएगा और मुझे संदेह है कि मुझे करना है दूसरी सफलता के किसी भी मौके से 24 घंटे पहले इंतजार करें) "क्या आपने पुनः प्रयास किया है? – nmr