2011-06-02 14 views
9

पर क्लिक करें मैं अपने प्रोजेक्ट में fbconnect एपीआई का उपयोग कर रहा हूं। जब लॉगिन संवाद खोला जाता है, जहां हमने हमारे क्रेडेंशियल दर्ज किए हैं, जब मैं लॉगिन बटन पर क्लिक करता हूं तो कुछ किया जाता है और इसे प्रकाशित करने के लिए रीडायरेक्ट किया जाता है पृष्ठ। मेरी समस्या यह है कि मुझे यह नहीं मिल रहा है कि उस लॉगिन बटन पर कौन सी कार्रवाई की जाती है ताकि मैं वहां पर एक संकेतक डाल सकूं।लॉगिन बटन पर बटन कार्रवाई एफबीसी कनेक्ट एपीआई

मैंने यह निर्दिष्ट करने के लिए एक स्क्रीनशॉट संलग्न किया है कि मैं किस बटन के बारे में बात कर रहा हूं। enter image description here

किसी भी सुझाव की अत्यधिक सराहना की जाएगी!

उत्तर

4

क्या आप दूसरों के फेसबुक पासवर्ड चुरा लेना चाहते हैं? :)

ऐसा लगता है, FBConnectUIWebView का उपयोग करता है वेब से पृष्ठों को लोड करने। उन फॉर्म तत्वों को कोड से नहीं बनाया गया है। तो आपके पास उन तरीकों/कार्यों तक पहुंच नहीं हो सकती है।


ट्रैकिंग प्रवेश बटनUIWebViewDelegate का उपयोग कर कार्रवाई:

webView:shouldStartLoadWithRequest:navigationType: में प्रतिनिधि विधि FBDialog.m में, आपको अनुरोध जो लॉगिन देखने से भेजा जाता है देख सकते हैं।

[request.URL absoluteString] का उपयोग करके आप URL पढ़ सकते हैं। जांचें कि यूआरएल में स्ट्रिंग https://www.facebook.com/login.php?m=m है। यदि यह हाँ है तो शायद एक लॉगिन अनुरोध भेजा जा रहा है। आप वहां अपनी कार्रवाई कर सकते हैं।

नोट: मुझे यकीन नहीं है कि यह हमेशा काम करेगा। बेहतर समाधान खोजने के लिए आप और शोध कर सकते हैं।

+1

यहां मानक फेसबुक संवाद है जो प्रकट होता है जब डिवाइस मल्टीटास्किंग का समर्थन नहीं करता है। – SVGreg

+0

@ एसवीग्रेग, कहां? – EmptyStack

+0

@ सिमॉन कोई मेरी आवश्यकता नहीं है जब मैं इस बटन पर क्लिक करता हूं गतिविधि संकेतक तब तक खोला जाता है जब तक कि नया संवाद खुला न हो जाए। – Gypsa

1

जब आप लॉगिन बटन दबाते हैं - लॉगिन अनुरोध केवल एफबी सर्वर को भेज देगा। प्राप्त करने के लिए जवाब देने के आप FBSessionDelegate प्रोटोकॉल को लागू करने की जरूरत है:

/** 
* Called when the user successfully logged in. 
*/ 
- (void)fbDidLogin; 

/** 
* Called when the user dismissed the dialog without logging in. 
*/ 
- (void)fbDidNotLogin:(BOOL)cancelled; 

/** 
* Called when the user logged out. 
*/ 
- (void)fbDidLogout; 

पढ़ें भी Facebook.m में टिप्पणियाँ:

  • एक संवाद है जो अनुरोध किया उपयोगकर्ता फेसबुक में प्रवेश करें और अनुदान के लिए
  • संकेत देता है शुरू होता है आवेदन के लिए अनुमतियाँ। *
  • डिवाइस मल्टीटास्किंग का समर्थन करता है, तो हम
  • फेसबुक अनुप्रयोग में संवाद को दिखाने के लिए तेजी से स्विचन एप्लिकेशन का उपयोग या, फेसबुक एप्लिकेशन इंस्टॉल नहीं है अगर,
  • सफारी में
  • (इस एकल साइन-ऑन सक्षम बनाता है
  • पर एक ही उपयोगकर्ता सत्र साझा करने के लिए डिवाइस पर एकाधिक ऐप्स को अनुमति देकर)।
  • उपयोगकर्ता अनुदान या अनुमतियों से इनकार करते हैं, अनुप्रयोग है कि
  • संवाद (फेसबुक एप्लिकेशन या सफारी) से पता चला वापस
  • बुला आवेदन पर रीडायरेक्ट करते हैं, URL में पहुँच टोकन
  • और गुजर/या किसी अन्य पैरामीटर में फेसबुक बैकएंड में
  • परिणाम शामिल हैं (जैसे त्रुटि होने पर त्रुटि कोड)।
+1

नोट: यदि आपको "अधिकृत" Facebook.h से विधि और इस संवाद को देखने का उपयोग करें - तो आप डिवाइस मल्टीटास्किंग का समर्थन नहीं। – SVGreg

+0

@ गीप्स: जैसा कि साइमन कहता है - आपको लॉगिन कार्रवाई को पकड़ने के लिए UIWebViewDelegate का उपयोग करने की आवश्यकता है। और मैं किसी अन्य दृष्टिकोण नहीं मिला। – SVGreg

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