2010-04-27 12 views
7

मैं एक वेबसाइट पर फेसबुक कनेक्ट को लागू करने की कोशिश कर रहा हूं। मैं फेसबोक के जावास्क्रिप्ट एसडीके के साथ काम करने की कोशिश कर रहा हूं। मैं इसके लिए नया हूं और दुर्भाग्य से फेसबुक WIKI में दिए गए अधिकांश लिंक पुराने हैं ... 404 लौट रहे हैं। वैसे भी मैंने पहले समाप्त होने </body> इस कोड को कहा:फेसबुक कनेक्ट में एपीआई कुंजी त्रुटि (जावास्क्रिप्ट एसडीके)

<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> 
<div id="fb-root"></div> 
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"> </script> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : '12344', // my real app id is here 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    xfbml : false // parse XFBML 
    }); 

    FB.login(function(response) { 
    if (response.session) { 
    if (response.perms) { 
     alert('user is logged in and granted some permissions'); 
     // user is logged in and granted some permissions. 
     // perms is a comma separated list of granted permissions 
    } else { 
     alert('user is logged in, but did not grant any permissions'); 
     // user is logged in, but did not grant any permissions 
    } 
    } else { 
     alert('user is not logged in'); 
    // user is not logged in 
    } 
}, {perms:'email'}); 
</script> 

और मैं कुछ अन्य स्थान पर एक प्रवेश बटन है एक ही पृष्ठ में (ऊपर स्क्रिप्ट से पहले ज्यादा) के साथ गाया:

<fb:login-button v="2">Connect with Facebook</fb:login-button> 

यह बटन एक सामान्य एफबी कनेक्ट बटन के रूप में प्रस्तुत करता है और इसे क्लिक करने पर एक नई पॉपअप विंडो खुलती है जैसा कि इसे सामान्य रूप से करना चाहिए। समस्या यह है कि यह 'अवैध एपीआई कुंजी निर्दिष्ट' त्रुटि दिखाता है। पॉपअप के पता बार का निरीक्षण करने पर, मुझे लगता है कि api_key = अपरिभाषित इसे पास कर दिया गया है :(

इस बारे में कोई विचार? मैं इसे पिछले 5 घंटों के लिए ठीक करने की कोशिश कर रहा हूं ... कृपया मुझे यह जानने में सहायता करें कि सही API क्यों कुंजी पहले से खिड़की पॉपअप के लिए पारित नहीं किया जा रहा।

धन्यवाद।

उत्तर

4

मैं एक ही बात कर रहा हूँ, और मैं एक उदाहरण है कि बहुत सरल है, लागू करने और समझने के (यहाँ बताने वाली उपयोग jQuery पाया है, लेकिन आप पुस्तकालयों के बिना भी ऐसा कर सकते हैं):

<body> 
    <div> 
    <button id="login">Login</button> 
    <button id="disconnect">Disconnect</button> 
    </div> 
    <div id="user-info" style="display: none;"></div> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 

    <div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
    // initialize the library with the API key 
    FB.init({ appId : '12344' }); 

    // fetch the status on load 
    FB.getLoginStatus(handleSessionResponse); 

    $('#login').bind('click', function() { 
     FB.login(handleSessionResponse); 
    }); 

    $('#disconnect').bind('click', function() { 
     FB.api({ method: 'Auth.revokeAuthorization' }, function(response) { 
     clearDisplay(); 
     }); 
    }); 

    // no user, clear display 
    function clearDisplay() { 
     $('#user-info').hide('fast'); 
    } 

    // handle a session response from any of the auth related calls 
    function handleSessionResponse(response) { 
     // if we dont have a session, just hide the user info 
     if (!response.session) { 
     clearDisplay(); 
     return; 
     } 

     // if we have a session, query for the user's profile picture and name 
     FB.api(
     { 
      method: 'fql.query', 
      query: 'SELECT name, pic FROM profile WHERE id=' + FB.getSession().uid 
     }, 
     function(response) { 
      var user = response[0]; 
      $('#user-info').html('<img src="' + user.pic + '">' + user.name).show('fast'); 
     } 
    ); 
    } 
    </script> 
</body> 

लो पूरे कोड के लिए ठीक here, और here आप अन्य संसाधन पा सकते हैं।

+0

मदद Kucede के लिए धन्यवाद। मैं पुराने एफबी.कनेक्ट क्लास का उपयोग करके (प्रोजेक्ट) वास्तव में मेरी परियोजना से छुटकारा पाने में सक्षम था। यह कितना विडंबनापूर्ण है कि एफबी देव प्रलेखन में पुराने कोड + नए लोगों का मिश्रण होता है, बिना किसी संकेत के कि कौन सा संस्करण उस दस्तावेज़ से संबंधित होगा ... वास्तव में यह मेरे जीवन में अब तक का सबसे भयानक दस्तावेज है। हालांकि मैं आपकी मदद की सराहना करता हूं। अगर मैं भविष्य में इसी तरह की परियोजना में आउंगा तो मुझे इसका इस्तेमाल करने की आवश्यकता होगी। –

1

आपको कैनवास पोस्ट-प्राधिकृत यूआरएल सेट करने की आवश्यकता है, और सुनिश्चित करें कि बेस कैनवास यूआरएल पोस्ट-प्राधिकृत यूआरएल का एक उपसर्ग है।

3

मैंने www के लिए अपना फेसबुक कनेक्ट पता सेट किया था और मैं www www के साथ अपनी टेस्ट साइट तक पहुंच रहा था, जब मैंने www संस्करण fb कनेक्ट पर स्विच किया था ठीक काम किया।

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