我試圖從舊的JavaScript庫(我在使用Connect的地方)切換到新的Facebook JavaScript SDK,我無法獲得權限對話框。我試圖獲取「數據權限」部分here下顯示的權限對話框。如何在新的Facebook JavaScript SDK中請求權限?
我的老電話是這(用適當的初始化):
FB.Connect.showPermissionDialog('publish_stream');
我試圖改變這(再次,進行適當的初始化),但它不工作,它運行沒有錯誤,但回調永遠不會運行:
FB.login(function(response)
{
if (response.session)
{
if (response.perms)
{
alert('user is logged in and granted some permissions: ' + response.perms);
}
else
{
alert('logged in but didnt grant permissions');
}
}
else
{
alert('not logged in');
}
},
{perms:'publish_stream'});
這是我使用的初始化代碼:
window.fbAsyncInit = function()
{
FB.init({appId: 'xxxxxxxx', status: true, cookie: true, xfbml: true});
};
(function()
{
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
通過運行沒有錯誤,你的意思是權限對話框出現?在FB初始化後,你確定觸發了這個Login方法嗎?嘗試從應用程序首選項中刪除應用程序,一旦授予它們權限就會被緩存。 – serg 2010-06-29 16:57:04
它不會拋出任何錯誤,它會運行但不執行任何操作(不提示)。嘗試清除瀏覽器緩存並刪除並重新添加應用程序,但仍然沒有任何結果。 – 2010-06-29 20:38:16
如何觸發它,在某個按鈕上或文檔加載?你發佈的這段代碼是正確的,所以問題在其他地方。也許發佈你的FB init方法和觸發登錄的方法。 – serg 2010-06-29 21:08:19