मुझे एक कठिन समस्या है। कठिन माध्यम मैंने नेट और स्टैक ओवरफ्लो के साथ-साथ पूरे एफबीजेएस एसडीके दस्तावेज के माध्यम से खोज की और जवाब नहीं मिला।FB.getLoginStatus कॉलबैक फ़ंक्शन को सक्रिय नहीं करता
मैं एक पेज टैब एप्लिकेशन बना रहा हूं जहां मैं प्रशंसकों को आरएसवीपी कार्यक्रमों को देना चाहता हूं। तो मुझे यह जांचना है कि क्या उपयोगकर्ता लॉग इन है और यदि मुझे लॉगिन करना नहीं है। यह बहुत आसान लगता है, लेकिन FB.getLoginStatus कॉलबैक फ़ंक्शन को सक्रिय नहीं करता है। इस कोड अंश है:
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
और उसके बाद मैं बस - एक बटन पर उपयोगकर्ता क्लिक करने के बाद निश्चित रूप से - फोन FB.getLoginStatus, लेकिन यह यह कुछ भी नहीं है लगता है।
मैंने पहले ही सैंडबॉक्स मोड, FB.init सफलता, एप्लिकेशन सेटिंग्स में यूआरएल और विकासशील वातावरण की जांच की है। मैं एफबी.ईई को कॉल कर सकता हूं, हालांकि विधि के साथ एफबी.ईई: 'ओथ' मुझे एक त्रुटि संदेश मिलता है जिसमें कहा गया है कि "रीडायरेक्ट_री" पैरामीटर का उपयोग "अगले" पैरामीटर के साथ नहीं किया जा सकता है, जिसे बहिष्कृत किया गया है। " जो बहुत अजीब है क्योंकि मैंने "अगला" पैरामीटर नहीं इस्तेमाल किया था। लेकिन जब मैं अपरिभाषित के बगल में सेट करता हूं, तो यह ठीक काम करता है, मुझे खिड़की मिलती है, लेकिन यह कहती है "एप्लिकेशन कॉन्फ़िगरेशन द्वारा दिए गए यूआरएल की अनुमति नहीं है।" उस से अपेक्षा करें, मैं लॉगिन कर सकता हूं, फिर मुझे access_token मिल गया है। लेकिन नई विंडो में, getLoginStatus अभी भी कुछ भी नहीं करता है।
इसलिए किसी भी सलाह का स्वागत है।
धन्यवाद, तमस
अद्यतन:
function onBodyLoad() { //on body onload
FB.init({
appId: window.appID,
status: true,
xfbml: true,
cookie: true,
oauth: true,
channelUrl: 'http://example.com/fb/channel.html'
});
}
...
function getName() { // on button onclick
FB.getLoginStatus(function(response){
if (response.authResponse)
{
window.loggedIn = true;
debugString('Logged in');
} else
{
window.loggedIn=false;
debugString('Not logged in');
}
}, true);
if (window.loggedIn === undefined) {
debugString('getLoginStatus did not exec'); // I always get this message
}
}
अद्यतन 2: मैं किसी अन्य URL है, जो एक स्टैंडअलोन वेबसाइट के रूप में कॉन्फ़िगर किया गया है पर एक नया अनुप्रयोग बनाया । वहां ये कोड पूरी तरह से काम करते हैं, मैं लॉजिस्टस्टैटस प्राप्त कर सकता हूं, मैं लॉगिन कर सकता हूं, आदि। क्या एफबी के संदर्भ में काम करने में कोई फर्क पड़ता है, और एक स्टैंडअलोन वेबसाइट में, एफबी जावास्क्रिप्ट एसडीके का उपयोग कर? FB JS SDK Documentation से
FB.getLoginStatus(function(response) {
if (response.authResponse) {
// logged in and connected user, someone you know
} else {
// no user session available, someone you dont know
}
});
:
क्या आप कुछ और कोड प्रदान करेंगे? – ifaour