0
我已經在頁面上的步驟中使用FB.login()創建了多個應用程序,並依靠C#獲得相同的訪問權限會話,從而正確訪問(並保存)用戶信息。OA中的授予JS權限和使用服務器方式的權限方式(無會話)
JS:
FB.login(function (response) { if (response.session) {// user has authed} });
C#:
public FacebookSession CurrentSession { get { return (new CanvasAuthorizer()).Session; } }
在兩天內Facebook將刪除會話支持,這打破了這個功能。據我所知我現在需要有一個頁面重新加載之前,服務器端可以檢測到授予的權限。 (https://developers.facebook.com/docs/authentication/)。看來我必須將用戶重定向到登錄框,然後設置回調,或者仍然使用JavaScript,但在用戶授予權限後重新加載頁面。
這真的讓人傷心,因爲應用程序在向用戶顯示應用程序界面之前工作得很好,然後再詢問任何權限並重新加載頁面。有誰知道如何再次將JS與服務器端耦合在一起?
嗯,它似乎工作,如果我使用真正的URL,http:// mydomain /默認,但不在頁面選項卡內使用時 – Certs
我已經通過添加一個暫時修復它,將它設置爲我從FB.login中取回的accesstoken,然後在serverside中讀取它。工程,但真的不是一個好的解決方案:( – Certs