2010-06-23 40 views
0

我正在嘗試將我的網站與Facebook鏈接。爲什麼我的Facebook Connect按鈕將我帶到錯誤的URL?

如果我調用PHP SDK中名爲getLoginUrl()的方法,它將返回正確的登錄URL。該URL包含許多參數,其中一個是我的API密鑰,並且是正確的。這是我的連接按鈕應該帶我到的URL。

但是,當我實際上點擊我網站上的連接按鈕時,彈出窗口打開並顯示「指定的API密鑰無效」。通過一些檢查,我發現這個彈出窗口中的URL顯示「api_key = undefined」。實際上,URL與登錄URL應該完全不同。

任何想法爲什麼會發生這種情況? 只有我可以想象的衝突是codeigniter或jQuery。

很難更具體。我猜這需要Facebook SDK的良好知識才能回答。

非常感謝。 :)

回答

1

如果有必要,PHP應該只處理登錄回調,登錄應該通過javascript完成。

FB API初始化:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
     appId : appId, 
     status : true, 
     cookie : true, 
     xfbml : true 
    }); 
</script> 

然後你可以在某些按鈕觸發FB登錄對話框:

FB.login(function(response) { 
    //callback 
}, {perms:'publish_stream'}); 

另外,還要確保你 「連接」 選項卡下,在FB應用程序正確設置 - 應該設置「連接URL」和「基本域」。如果他們鏈接到錯誤的域名,您將無法登錄。

+0

我在localhost上運行的網站。我應該如何處理「連接」選項卡選項? (目前不在我的公寓,所以不能測試)。謝謝。 :) – 2010-06-23 20:42:48

+0

看到這個答案:http://stackoverflow.com/questions/3057089/dw-cs5-run-facebook-applications-on-local-server/3057559#3057559 – serg 2010-06-23 20:57:39

+0

我已經設法正確設置連接選項卡選項,但它仍然無法工作。我已經使用了API初始化代碼和一個,但是當我單擊登錄按鈕時,我仍然得到相同的「無效的API密鑰指定」錯誤,並且URL說api_key = undefined。 JS從哪裏獲取api_key?我實際上並沒有在任何地方指定API密鑰。只是應用程序ID和密鑰。 – 2010-06-24 18:27:11

相關問題