2012-05-25 37 views
0

我使用Facebook PHP SDK來註冊新用戶,並從Facebook API中獲取數據。Facebook PHP SDK getUser()什麼也沒有返回

當我訪問下面的代碼頁面時,echo $uid什麼也沒有返回。不是0。不是null。根本不值一提。

簡化代碼如下所示:

$config = array(); 
$config['appId'] = $appid; 
$config['secret'] = $appsecret; 
$config['fileUpload'] = false; // optional 

$facebook = new Facebook($config); 
$uid = $facebook->getUser(); 

$params = array(
    'scope' => 'read_stream, friends_likes', 
    'redirect_uri' => 'http://www.website.com', 
    'display' => 'page', //could be popup 
    'cookie' => true, 
); 

$loginUrl = $facebook->getLoginUrl($params); 

echo 'uid = '.$uid; 

    if($uid) { 
     //SHOW SOMETHIN' 
     echo 'AUTHORIZED!'; 

     //CREATE NEW USER... 
     //SIGN IN NEWLY CREATED USER... 

    } else { 
     //PROMPT TO AUTHORIZE 
     echo '<a href="' . $loginUrl . '">SIGN IN WITH FACEBOOK.</a>'; 

    }; 

我缺少什麼?

+0

你能再發表一點代碼嗎?這對我來說很完美 – Jashwant

+0

@Jashwant:我添加了更多的代碼,以便您可以查看上下文。謝謝!! – emersonthis

回答

0

get_permalink($post->ID)應該是罪魁禍首。

與應用程序設置中指定的Site URL一樣嗎?

(我的小WP知識說,這個網址將是動態的)

出於安全原因,Facebook的重定向到Site URL只,不是任何URL。

+0

AHA。這似乎很有希望。我改變了它,但我仍然沒有得到預期的結果。我將立即更新問題,但是當我回顯'$ uid'時,它看起來像什麼也沒有。不是'0',但沒有。很奇怪。 – emersonthis

+0

現在,您可以在應用程序設置中顯示更新後的代碼和「網站網址」嗎? – Jashwant

+0

我硬編碼了正確的URL(並更新了上面的代碼)。我檢查了FB中的應用程序設置,它是相同的網址。我在if之前看到echo語句,但它重寫爲'UID ='。沒有0. – emersonthis