2011-08-29 12 views
10

मैं फेसबुक एप्लिकेशन पर काम कर रहा हूं जो फेसबुक के साथ एकीकृत है और उपयोगकर्ता के एफबी सत्र प्राप्त करने की कोशिश कर रहा हूं। जहां तक ​​मैं समझता हूं, एक सामान्य उपयोग परिदृश्य इस प्रकार है।FB.getLoginStatus आग नहीं करता है अगर उपयोगकर्ता फेसबुक में लॉग इन नहीं है

  1. कॉल FB.init()
  2. कॉल FB.getLoginStatus यह एक उपयुक्त कॉलबैक दे रही है।

मैंने निम्नलिखित कोड (एप्लिकेशन आईडी) चलाया।

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 
    <!-- 

    function init(){ 
     FB.init({ 
      appId : '9999999999999', 
      status : true, // check login status 
      cookie : true, // enable cookies to allow the server to access the session 
      xfbml : true, // parse XFBML 
      channelUrl : 'http://127.0.0.1:8888/channel.html', // custom channel 
      oauth : true // enable OAuth 
     }); 
     alert('going to call FB.getLoginStatus '); 

     FB.getLoginStatus(function(response) { 
      alert('whoo hoo!!! getLoginStatus called the callback'); 
     }); 
    } 
    init(); 
    //--> 
</script> 

उपयोगकर्ता पहले से ही ब्राउज़र सत्र तो सब कुछ उम्मीद के रूप में काम करता है में फेसबुक में लॉग इन किया है - आबादी _response.authResponse_ लौटने। हालांकि, अगर उपयोगकर्ता फेसबुक में लॉग इन नहीं है तो कॉलबैक बिल्कुल ट्रिगर नहीं होता है। ब्राउज़र नेटवर्क लॉग की जांच कर रहा है, मुझे लगता है कि फेसबुक निम्नलिखित प्रतिक्रिया देता है (http://www.facebook.com/dialog/oauth से अनुरोध?)।

Application Error: There was a problem getting data for the application you requested. The application may not be valid, or there may be a temporary glitch. Please try again later.

मैंने इसे क्रोम और फ़ायरफ़ॉक्स (मैक) पर चेक किया।


अद्यतन

मैं हर किसी को जवाब दिया धन्यवाद देना चाहते हैं।

Ben की टिप्पणी का जवाब था।

धन्यवाद बेन - आपने मुझे बहुत निराशा बचाई है।

+12

क्या आपका ऐप सैंडबॉक्स मोड में है? यदि ऐसा है तो ऐसा कोई बग प्रतीत होता है जो इसका कारण बन सकता है: http://bugs.developers.facebook.net/show_bug.cgi?id=19359 –

+0

क्या आप चैनल यूआरएल को लूपबैक के रूप में उपयोग कर रहे हैं, या यह सिर्फ नमूना के लिए है? मुझे विश्वास नहीं है कि लूपबैक उस समारोह के लिए काम करेगा। –

+0

channelUrl का उपयोग समझाया गया है [यहां] (https://developers.facebook.com/docs/reference/javascript/FB.init/)। स्पष्ट रूप से इसे लोड समय को गति देना चाहिए और कुछ समस्याओं से बचने में मदद करता है। वास्तव में परवाह नहीं है अगर यह विकसित होने पर कुछ भी करता है, तो मुझे लाइव होने पर मदद करनी चाहिए। –

उत्तर

11

कारण हाल ही में bug है जो केवल सैंडबॉक्स मोड को प्रभावित करता है। मैंने सैंडबॉक्स मोड बंद कर दिया, और यह एक आकर्षण की तरह काम किया।

+1

मैं तुम्हें चूम सकता था! आपका बहुत बहुत धन्यवाद। मैंने सारी रात कोशिश कर रही है और सामान की कोशिश कर रहा है ... मुझे समझ में नहीं आया कि क्या हुआ ... अच्छा काम फेसबुक। 6 महीने बाद, समस्या अभी भी बनी हुई है ... –

+1

लिंक अब मर चुका है। –

0

घटना लोड हो रहा है के लिए मजबूर कर प्रयास करें:

FB.getLoginStatus(function(response) { 
    alert('whoo hoo!!! getLoginStatus called the callback'); 
}, true); 

यह FB.getLoginStatus में कहा गया है।

घटना कुछ स्थितियों में नहीं निकाल दी जा सकती है।

+0

ने कोशिश की कि कोई, कोई खुशी नहीं –

+0

लोड को बल देने के लिए सच जोड़ना मेरे लिए कोई प्रतिक्रिया समस्या तय नहीं है! –

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

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