2011-05-01 45 views
0

我使用Facebook C#SDK版本5.0.10打開請求許可。當我自己登錄時,我不明白爲什麼「請求權限」界面在選項卡中打開而不是在新的彈出窗口中打開。試圖在彈出

這裏是我的代碼:

var parameters = new Dictionary<string, object> 
{ 
    { "response_type", "token" }, 
    { "display", "popup" }, 
    { "state", returnUrl }, 
    { "scope", scope.ToString() }, 
}; 

[...] 

var loginUri = oAuthClient.GetLoginUrl(parameters); 

沒有任何人有一個想法?

+0

確保您的瀏覽器未配置爲一個選項卡打開新的彈窗..除此之外,不知道(所以我沒有做這一個「答案」) – DevTheo 2011-05-02 14:00:55

回答

0

我也用C#SDK 5.0.10。我建議下載示例(FacebookSDK-5.0.10.0-41e55d6506e.src.zip)並檢查名爲「CSASPNETFacebookApp」的samle。

我使用的樣品同樣的方法對我來說,權限不在一個新標籤或一個新的彈出打開,但更重要的:在同一頁。當您授予權限時,您將自動重定向到您嘗試訪問的應用程序頁面。非常實用。用幾行代碼就可以使認證工作。

對於重定向,確保在web.config中有處理程序:

<httpHandlers> 
    <add verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web"/> 
</httpHandlers> 

如果你想彈出,那麼你必須使用FBML(在HTML/aspx頁面):

<fb:login-button onlogin="document.location.href=document.location.href;" perms="publish_stream">Grant Permissions</fb:login-button> 

當您單擊「授予權限」按鈕,權限請求彈出框將被打開。

希望這會有所幫助。