2014-01-16 40 views
0

在這個Facebook應用程序中,我真的很新,製作的東西真的很有興趣做某些事情。雖然我是這種編碼的初學者...所以,我需要一點幫助無法運行Facebook SDK代碼?

所以,這是代碼。

<?php 

require_once("app/src/facebook.php"); 

    $config = array(
     'appId' => 'xxxxxxxxxxxxxxxxxxxx', 
     'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 
     'fileUpload' => false, // optional 
     'allowSignedRequest' => false, // optional, but should be set to false for non-canvas apps 
); 
    $facebook = new Facebook($config); 

$user = $facebook->getUser(); ?> 

Hello <fb:name uid='<?php echo $user; ?>' useyou='false' possessive='true' />! 

當我運行這段代碼,它應該給我的ID的用戶的名稱...但它不工作(返回0),什麼是錯的代碼?

+0

嘗試'的var_dump($用戶)'。我並不熟悉FB php SDK,但我想你會得到一個包含用戶數據的數組或對象。 「它不起作用」作爲調試消息不是很有用 –

+0

您沒有登錄用戶。此代碼將無法工作。 –

+0

如何登錄用戶?請幫忙嗎? @JimmyKane – Tashfi

回答

1

閱讀Facebook's code example的其餘部分,尤其是其測試$user_id變量的部分,如果爲空,則提供登錄鏈接。

if($user_id) { 
    # [...] 
} else { 

    // No user, print a link for the user to login 
    $login_url = $facebook->getLoginUrl(); 
    echo 'Please <a href="' . $login_url . '">login.</a>'; 

} 
1

我在不同場合遇到過這個問題,但SDK問題並沒有發生在每個人身上。所以我不確定這裏出了什麼問題。但我深入研究並找到如下所述的解決方案。

解決方案:在嘗試解決這個問題的很多解決方案後,這對我有用。

在base_facebook.php文件中,找到makeRequest()方法並檢查以下Line。

$opts = self::$CURL_OPTS; 

緊隨其後,加入這一行

$opts[CURLOPT_SSL_VERIFYPEER] = false; 

更多細節可以在這裏找到 - http://net.tutsplus.com/tutorials/php/how-to-authenticate-your-users-with-facebook-connect/