我已經使用Facebook SDK JS一個網站,自2年以上Facebook的All.Js新的錯誤
今天,Facebook的部分(我用的SDK中的一個選項卡顯示了用戶的時間線它的工作完美主頁)停止工作,並在頁面加載時它給了我這個JavaScript錯誤
任何幫助將不勝感激
錯誤:錯誤:表達式是字符串類型,不反對 源文件:http://connect.facebook.net/en_US/all.js 線:37
我已經使用Facebook SDK JS一個網站,自2年以上Facebook的All.Js新的錯誤
今天,Facebook的部分(我用的SDK中的一個選項卡顯示了用戶的時間線它的工作完美主頁)停止工作,並在頁面加載時它給了我這個JavaScript錯誤
任何幫助將不勝感激
錯誤:錯誤:表達式是字符串類型,不反對 源文件:http://connect.facebook.net/en_US/all.js 線:37
這不像替換FB.Data.waitOn
和FB.Data.query
那麼簡單。
我當前正在使用FB.Data.query
函數調用使FQL
調用來優雅地測試用戶是否已接受我的應用程序的(s)的publish_stream
權限。 像這樣:
FB.api('/me', function(response) {
var user_id = response.id;
var query = FB.Data.query('select publish_stream from permissions where uid={0}', user_id);
query.wait(function(rows) {
if (rows[0].publish_stream == 1) {
//user has accepted our publish_stream permissions
} else {
//user has not accepted our publish_stream permissions
}
});
});
google搜索和搜索那可怕的Facebook開發論壇結束後,我是不是能找到什麼,我一直在尋找,直到我碰到這裏另一篇文章check for extended permissions with new facebook javascript sdk
來到當時我能夠拿出我的解決方案:
FB.api('/me/permissions', function(response) {
if (response && response.data) {
var permissions = response.data.shift();
//console.log(permissions);
if (!permissions || (!permissions.publish_stream) || (permissions.publish_stream == 0)) {
//user has not accepted our publish_stream permissions
} else {
//user has accepted our publish_stream permissions
}
}
});
好了,真棒。 –
我添加了額外的檢查以避免出現意外服務器行爲時出現的「未定義」問題。 –
相同。原來FB.Data.query不再起作用。只需將其替換爲FB.api調用即可。它爲我工作! – ncz
同樣的問題在這裏 –