2010-06-04 5 views
6

प्रमाणीकृत करने के लिए कहा जाता है। मैं बस फेसबुक कनेक्ट को स्थापित करने की कोशिश कर रहा हूं ताकि पंजीकरण फॉर्म के साथ पंजीकरण करने के लिए या फेसबुक कनेक्ट के साथ पंजीकरण करने के लिए मेरी पहले से स्थापित साइट पर विकल्प की अनुमति दी जा सके (यह वास्तव में इससे आसान होना चाहिए है, पुराना दस्तावेज़ मुझे पागल कर रहे हैं)। जब उपयोगकर्ता बटन पर क्लिक करता है, तो यह पॉपअप खोलता है और उन चीज़ों को अनुमति देने के लिए कहता है जिन्हें मैंने सही तरीके से पूछा था। हालांकि, जब वे अनुमति दें क्लिक करते हैं, तो यह फिर से अनुमति देने के लिए कहता है (लेकिन केवल मूल प्रोफ़ाइल जानकारी)। यह स्पष्ट रूप से fb: login-button पर क्लिक करने की डिफ़ॉल्ट कार्रवाई से ट्रिगर किया गया है, भले ही वे पहले ही लॉग इन हैं और ऐप को उनके डेटा तक पहुंचने की अनुमति दी है।एक्सएफबीएमएल लॉगिन बटन का उपयोग करने से उपयोगकर्ता को दो बार

<fb:login-button size="medium" length="long" v="2" onclick="fb_login()"></fb:login-button> 
<div id="fb-root"></div> 
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script> 
<script> 
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true}); 

    function fb_login() { 
     FB.login(function(response) { 
      if (response.session) { 
       if (response.perms) { 
        // they have allowed the app, continue with registration 
       } 
      } 
     }, {perms:'email,user_birthday'}); 
    } 
</script> 

उत्तर

8

स्पष्ट रूप से आप केवल एफबीएमएल में अनुमतियां असाइन कर सकते हैं और कॉलिंग FB.login को पूरी तरह से बाईपास कर सकते हैं। यह बहुत अच्छा होगा अगर फेसबुक अपने दस्तावेज़ों (रान) में उल्लेख करेगा।

<fb:login-button size="medium" length="long" v="2" perms="email,user_birthday" onlogin="fb_login()"></fb:login-button> 
<div id="fb-root"></div> 
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script> 
<script> 
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true}); 

    function fb_login() { 
      // they have allowed the app, continue with registration 
    } 
</script> 
+1

मुझे पता है कि यह सामान्य प्रोटोकॉल नहीं है, लेकिन मैं सिर्फ आपको धन्यवाद देना चाहता हूं। फेसबुक से डाउनलोड कोड के साथ कड़ी मेहनत कर रहा है, मुझे विस्तारित अनुमतियां नहीं मिल सका। Google, मैनुअल, और सिरदर्द के 4 घंटे मुझे कहीं नहीं मिला। और आप ऊपर पोस्ट करते हैं: मुझे यही चाहिए !!!!! बहुत बहुत धन्यवाद!! –

0

मैं बहुत यकीन है कि समस्या fb:login-button अपने स्वयं के डिफ़ॉल्ट व्यवहार को पहले से ही है कि में "onclick" घटना बताए में है हूँ। बस उस लॉगिन-बटन टैग को हटा दें और उस ऑनक्लिक ईवेंट के साथ अपना स्वयं का नियमित HTML बटन (लिंक, छवि, या जो कुछ भी आप चाहते हैं) बनाएं।

+0

मैं ऐसा करूँगा, लेकिन उनके पास जो बटन है वह वही है जो मैं चाहता हूं और अनुवाद के साथ पूर्व-निर्मित आता है। मुझे विश्वास करना मुश्किल लगता है कि अपना खुद का बटन बनाये बिना ऐसा करने का कोई तरीका नहीं है। –