3

我正在使用Facebook c#SDK對用戶進行身份驗證(成功)。但我也想在客戶端上使用FB.ui JS方法。有沒有什麼方法可以「重用」已從Facebook JS JS SDK中的c#SDK獲得access_token?我不想調用FB.Login,因爲我已經在服務器端驗證了用戶身份。從Facebook JS SDK中的服務器重用Access_Token

+0

爲什麼不使用['FB.getLoginStatus()'](http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/)?至少這將確保用戶在進行API調用時仍然*登錄。 – ifaour

+0

感謝您的回覆。 FB.getLoginStatus()總是返回無驗證響應,因爲我沒有調用FB.login。我的問題是不同的 - 我已經成功使用OAuth在服務器上登錄用戶,並擁有有效的訪問令牌,我可以在客戶端上放置一些表單字段。我需要的是製作一些FB.ui API調用,而無需使用FB.login再次登錄。如果我不用FB.login重新登錄他,FB.ui API正在工作,但在標準彈出窗口中顯示對話框,而不是在頁面中嵌入好的Facebook彈出窗口。如果我打電話給FB.login,我會打擾用戶使用某些登錄重定向/彈出窗口。 – Edgar

+0

這個選項已經用最新的js-sdk和php sdk 3.1.1完成了,在這裏你可以使用一個sdk登錄並從其他地方訪問信息。還記得Facebook沒有C#SDK的正式版本。所以您已經瞭解了PHP SDK中最新的變化,以便您可以重寫您的基本Facebook類! – Vijay

回答

0

只需將access_token字符串置於隱藏字段並通過javascript獲取值並將其傳遞給JS API方法。

+0

真正的問題是如何將它傳遞給JS API方法。 – Henrik

+0

通過獲取隱藏字段的值並將其存儲到本地JavaScript變量中。 – alaasdk

+0

不幸的是,我發現它不可能傳遞給我需要使用的API調用(UI對話apprequests)。 – Henrik

0
FB.getLoginStatus(function(response) { 
    if (response.authResponse) { 
     fbUserId = response.authResponse.userID; 
     token = response.authResponse.accessToken; 

    } else { 
     fbUserId = 0; 
    } 
    }); 

you will get access token 
相關問題