我開發了一個應用程序,用戶通過Facebook(PHP SDK)登錄;現在我想添加JS SDK,因爲我想實現一個通用的朋友選擇器(http://facebook-friend-selector.codersgrave.com/),它可以與JS SDK一起工作。我有兩個問題:Facebook通過PHP SDK登錄,然後使用JS SDK
1)可以混合兩個SDK導致問題?
2)I添加JS SDK代碼如文檔中解釋,並試圖簡單的請求
FB.api('/me/friends', function(response) {
alert(JSON.stringify(response));
});
但我得到一個錯誤(未知錯誤);我也試過了一個對話框
FB.ui({
method: 'feed',
link: 'https://developers.facebook.com/docs/dialogs/',
caption: 'An example caption',
}, function(response){});
但是盒子出現並突然消失。我認爲這個問題與認證有關...我想,因爲我的用戶通過PHP進行身份驗證,我需要將訪問令牌傳遞給JS,但是怎麼做?這個問題Passing the Facebook Authorization Token from PHP to Javascript似乎正是我所需要的,但我不明白答案:它說要將令牌存儲在cookie中,但JS如何知道它,Cookie的名稱應具有哪些名稱? 最後,如果我這樣做
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
alert('connected');
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
}
});
我居然得到了「連接」警報,這意味着JS知道用戶登錄,即使登錄是通過PHP,那麼問題出在哪裏?
哈哈哈,偉大的想法都一樣嗎? http://stackoverflow.com/questions/20785993/given-url-is-not-permitted-by-app-setting-with-js-sdk-but-not-with-loginurl-fr。請在加載頁面之前打開一些javascript控制檯(firebug,chrome默認控制檯,IE默認控制檯),然後查看您是否收到有關域問題的日誌消息。告訴我你看到了什麼。我仍然無法相信我們的情況有多相似。 – Letterman
是的,情況完全一樣:)但在我的情況下,我沒有得到任何錯誤! 如果我嘗試記錄答案的ajax調用 https://www.facebook.com/dialog/feed和https://graph.facebook.com/me/friends都執行在0毫秒(根據Firefox)沒有答案。 – Eugenio
對不起,我的意思是我沒有得到任何特定的錯誤,就像你的情況一樣,調試警報顯示「未知錯誤」爲錯誤信息 – Eugenio