2012-10-16 12 views
24

मेरे आवेदन में, उपयोगकर्ता फेसबुक प्रोफाइल पेज (http://m.facebook.com/some_page) के मोबाइल संस्करणों में WebView खोलता है। मेरी समस्या यह है कि WebView खोलते समय, उपयोगकर्ता को फेसबुक के लिए उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा। चूंकि मेरे पास एफबी एसडीके के माध्यम से पहले से ही एक फेसबुक एक्सेस टोकन है, और उपयोगकर्ता ने फेसबुक एप्लिकेशन इंस्टॉल किया होगा, मुझे लगता है कि WebView खोलते समय फेसबुक में साइन इन करने के इस कष्टप्रद चरण को छोड़ने का कोई तरीका है।एंड्रॉइड ऐप वेबव्यू में फेसबुक एक्सेस टोकन का उपयोग कैसे करें

दूसरे शब्दों में, मैं अपने टोकन का उपयोग कैसे कर सकता हूं जो मेरे पास पहले से ही मेरे एप्लिकेशन के WebView में है?

+2

में उपयोग करने के लिए देखते हैं कि यह: http://stackoverflow.com/questions/10101030/facebook-authentication-in-webview?rq=1 –

+0

tHX ZuzooVn, लेकिन लिंक नहीं है जवाब जो मैं चाहता था जवाब है। मैं पता है कि जिस तरह से (पहुँच टोकन आवेदन के WebView में है कि पहले से ही उपयोग करें) यदि काम कर सकते हैं चाहते हैं या नहीं – joy

+0

आप अमेरिकन प्लान डेवलपर पर टुट की कोशिश की है https://developers.facebook.com/docs/mobile/android/build/ –

उत्तर

1

मेरी समझ से, आप नहीं कर सकते। आपके ऐप के लिए आपको प्राप्त पहुंच टोकन का उपयोग केवल आपके ऐप के एपीआई क्रेडेंशियल के साथ किया जा सकता है। अर्थात। एक्सेस टोकन केवल कॉल में काम करता है जिसमें आपके ऐप की कुंजी और गुप्त भी शामिल है। यहां तक ​​कि यदि आप इन्हें वेबव्यू में पास करने का कोई तरीका ढूंढ सकते हैं (जो शायद FB's Data Policies द्वारा कवर नहीं किया गया है), तो आपको शायद वेबव्यू को एंड्रॉइड एसडीके का उपयोग करने का नाटक करना होगा (क्योंकि एफबी कॉल के स्रोत की जांच करेगा)। यही कारण है कि मैं सुझाव देता हूं कि आप नहीं कर सकते।

आपके पास वेबव्यू भी अपने स्टॉक ब्राउज़र में उपयोगकर्ता की कुकीज़ का उपयोग नहीं कर सकता है, क्योंकि प्रत्येक वेबव्यू के पास सुरक्षा कारणों से इसका अपना संदर्भ है।

यदि आप अक्सर अपने ऐप में एफबी के लिए वेबव्यू का उपयोग कर रहे हैं, तो आप पहले वेब व्यू से ऑथ कुकी खींचने में सक्षम हो सकते हैं, और उसके बाद इसे CookieSyncManager का उपयोग करके बाद के उदाहरणों में डालें। या आप पहले वेब व्यू की इंस्टेंस स्थिति को सहेज सकते हैं और फिर इसका पुन: उपयोग कर सकते हैं। ये केवल ऐसे विचार हैं जो काम कर सकते हैं या नहीं कर सकते हैं; मैंने उन्हें चेक नहीं किया है।

+2

आपकी मदद के लिए बहुत बहुत धन्यवाद, cookiemanager का उपयोग करें, जैसा कि आपने कहा था, हर बार वेबव्यू लॉड यूआरएल मुझे उस कुकी को जोड़ना होगा जो पहुंच टोकन प्राप्त करने के एक ही समय में प्राप्त हो। उदाहरण के लिए wb = (WebView) this.findViewById (R.id.share_wb); स्ट्रिंग यूआरएल = "http://m.facebook.com/sharer.php?u=www.douban.com"; कुकी SyncManager.createInstance (यह); कुकी मैनेजर कुकी मैनेजर = कुकी मैनेजर .getInstance(); cookieManager.setCookie (यूआरएल, Facebook.cookieString); कुकी SyncManager.getInstance() सिंक(); डब्ल्यूबी।loadUrl (यूआरएल); – joy

1

आप स्टोर कर सकते हैं कि AccessToken अलग गुण में और अगर आप वेबव्यू का उपयोग जाँच तो पारित accessToken और जब उपयोगकर्ता का उपयोग करें कि Ti.Facebook फिर एक और AccessToken का उपयोग करें।

-2

ध्यान से इस परियोजना को पढ़ें और कोशिश ... मैं अपने प्रोजेक्ट ..It काम करता है में इस उदाहरण की कोशिश की ..

बू इससे पहले कि आप इस उदाहरण ले रही है, आप है फेसबुक में एक पृष्ठ बनाने के लिए और एक आवेदन के प्राप्त आईडी, इस परियोजना

https://github.com/ddewaele/AndroidFacebookSample

+1

यह एक सामान्य फेसबुक एकीकरण (और उस पर पुरानी एपीआई का उपयोग करने वाला) लगता है - यह कहीं भी वेब व्यू का उपयोग नहीं करता है। –

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