2013-04-18 25 views
2

這假是我的代碼:FB.ui方法'permissions.request'棄用?響應永遠是我

FB.ui({method: "permissions.request", "perms": 'publish_stream', 'display': 'popup'}, function (response) { 
     console.log(response) 
     console.log(response.perms) 
    }, {scope: 'publish_stream'}); 

而結果總是「假」,沒有人知道原因是什麼?

感謝

回答

5

permissions.request對話框不是(不再?)在規範中對FB.uihttps://developers.facebook.com/docs/reference/javascript/FB.ui/

看來,只有這樣才能確保用戶在記錄並有一個動作所需的權限是使用FB.login()的組合與適當的允許範圍內,然後FB.api('/me/permissions')查詢圖表:

FB.login(function(response) { 
    if (response.status === 'connected') { 
    FB.api('/me/permissions', function(response) { 
     if (response.data && response.data[0] && response.data[0].publish_actions) { 
     console.log("You got'em!"); 
     } 
    }); 
    } 
}, { scope: 'publish_actions' }); 
+0

'FB.login'將始終觸發popup/in頁面對話框 - 只需檢查狀態,'FB.getLoginStatus'是更好的選擇。 – CBroe

+1

@CBroe:在你只是想檢查登錄狀態的用例中,你是絕對正確的。然而'FB.login()'的優點是你可以指定一個權限範圍,如果需要的話,會在對話框中提示權限範圍(很像'permissions.request'用來做)。 –

相關問題