尝试在弹出窗口中打开“请求权限”

时间:2011-05-01 19:30:41

标签: facebook-c#-sdk

我正在使用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);

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

我也使用C#SDK 5.0.10。我建议下载样本(FacebookSDK-5.0.10.0-41e55d6506e.src.zip)并查看名为“CSASPNETFacebookApp”的样本。

我使用了该示例的相同技术,对我来说,权限不会在新选项卡或新弹出窗口中打开,但更好:在同一页面中。授予权限后,您将自动重定向到您尝试访问的App页面。非常实用。只需几行代码,您就可以进行身份​​验证。

对于重定向,请确保在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>

当您单击“授予权限”按钮时,将打开包含权限请求的弹出窗口。

希望这有帮助。