對於仍在尋找的人,我通過使用Facebook JavaScript API重新登錄不同的權限集解決了我的問題。您可以初始化FB Api以允許後續交互:
window.fbAsyncInit = function() {
FB.init({
appId: '[APP_ID_HERE]',
autoLogAppEvents: true,
xfbml: true,
version: 'v2.9',
status: true,
cookie: true,
oauth: true
});
FB.AppEvents.logPageView();
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) { return; }
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
請注意狀態,cookie和oauth參數。不確定是否需要所有內容,但是當您使用額外權限重新登錄時,它們將使瀏覽器存儲授權令牌,然後您可以通過FB圖形API輕鬆獲取數據。通過這種方式,我得到了一個包含我需要的所有數據的json對象,然後通過ajax請求將該json發佈到我的網站。這就是Facebook數據如何進入我的應用程序。
如果有人有更好的解決方案,我會很高興看到它。