2010-06-08 24 views
9

मुझे अपने छोटे फेसबुक एप्लिकेशन के साथ कुछ परेशानी हो रही है, मुझे यह फ़्रिगिन त्रुटि मिल रही है, "घातक त्रुटि: अपरिभाषित विधि फेसबुक :: require_login()" पर कॉल करें, अब मजाकिया बात यह है कि मेरा सटीक कोड अन्य लोगों के लिए काम कर रहा है, लेकिन मेरे लिए नहीं, यहां कोड है।फेसबुक requ_login काम नहीं कर रहा है

<?php 
require_once("facebook-php-sdk/src/facebook.php"); 
$api_key = "my_api_key"; 
$secret = "my_secret_key"; 

$facebook = new Facebook($api_key, $secret); 
$user_id = $facebook->require_login(); 

echo "Hello World"; 
echo "Current logged in as <fb:name uid=\"$user_id\" />"; 
?> 

आप यह एक साधारण नमस्ते उपयोगकर्ता अनुप्रयोग है, लेकिन किसी कारण से यह पहले से मेरे लिए काम करने से मना, ताकि बेहतर नहीं होगा कि किसी को भी मदद कर सकते हैं, thanx देख सकते हैं!

+1

यह देखने के लिए कि क्या विधि परिभाषित की गई है, अपनी facebook.php फ़ाइल देखें। साथ ही, क्या आप वाकई एसडीके के नवीनतम संस्करण का उपयोग कर रहे हैं? – ircmaxell

+0

हां मुझे यकीन है, मैंने अभी यह सुनिश्चित करने के लिए इसे फिर से डाउनलोड किया है, लेकिन यह अभी भी काम नहीं करेगा! – Odyss3us

उत्तर

9

क्या आप newest version of the PHP sdk का उपयोग कर रहे हैं?

Facebook::require_login() पुराने एसडीके से एक विधि है।

नया एसडीके (ग्राफ एपीआई के साथ संयोजन में प्रकाशित) पीछे की ओर संगत नहीं है।

लॉगिन की आवश्यकता की धारणा अब भी मौजूद नहीं है - आप बस उपयोगकर्ता की आईडी प्राप्त करते हैं।

$user_id = $facebook->getUser(); 
+0

अजीब चीज है, मैंने पहले कोशिश की, और मुझे एक बहुत ही त्रुटि मिली! अब यह काम कर रहा प्रतीत होता है, मुझे अब त्रुटि नहीं मिल रही है, मैं जो देख रहा हूं, "हैलो वर्ल्ड वर्तमान फेसबुक उपयोगकर्ता के रूप में लॉग इन है", यह व्यक्तियों के नाम को प्रिंट नहीं कर रहा है, मैं भी कोशिश करने की कोशिश कर रहा हूं उसका उपयोगकर्ता आईडी, लेकिन मुझे लगता है कि यही कारण है कि मैं नाम नहीं देख रहा हूं, क्योंकि यूआईडी को उपयोगकर्ताओं का नाम प्राप्त करने की आवश्यकता है। – Odyss3us

0

इस समारोह बाहर का प्रयास करें:


function appInstance($fbconfig){ 
    try{ 
     include_once "facebook.php"; 
    } 
    catch(Exception $o){ 
     echo '<pre>'; 
     print_r($o); 
     echo '</pre>'; 
    } 
    $facebook = new Facebook(array(
     'appId' => $fbconfig['appid'], 
     'secret' => $fbconfig['secret'], 
     'cookie' => true, 
    )); 
    $session = $facebook->getSession(); 
    $fbme = null; 
    // Session based graph API call. 
    if ($session) { 
     try { 
     $uid = $facebook->getUser(); 
     $fbme = $facebook->api('/me'); 
     } catch (FacebookApiException $e) { 
      //d($e); //debug 
      'Facebook took too long to respond, try again in a few minutes.'; 
     } 
    } 
    return $uid; 
    return $fbme; 
    return $facebook; 
}//end appInstance() 

आप जो कुछ भी जानकारी आप ऐसा $firstName=$fbme['first_name'] या $email=$fbme['email'] की तरह अपने perms से मिला खींचने के लिए कि समारोह उपयोग $ FBME को कॉल करने के बाद ।

0

एक स्पष्ट उत्तर, फिर भी, क्या आप वेब डोमेन पर हैं जिसने आपने फेसबुक पर अपना ऐप पंजीकृत किया है। यदि आपने xxxyy.com पंजीकृत किया है, तो आप केवल अपने ऐप का उपयोग कर सकते हैं।

0

क्या आपने शायद यह जांच कर दी है कि फेसबुक के साथ पंजीकृत आपका डोमेन उस देव साइट जैसा ही है जिस पर आप काम कर रहे हैं? शायद यह है, लेकिन अगर आप ध्यान नहीं देते हैं तो वह आपको प्राप्त करेगा। माइग्रेशन पर मुझे पहली बार मिला:]

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