当CanvasAuthorizer.Permissions具有多个权限时,页面陷入了循环

问题描述

|| 我有一个Web项目(不是mvc),并且我想学习有关Facebook集成的信息(我是facebook dev noob)。在我的页面中,我有一些简单的html和一个asp.net按钮。我为signed_request添加一个隐藏字段(用于按钮回发),这似乎也可以。当我尝试在page_load中添加多个权限时,就会出现问题。如果仅检查user_about_me权限,则该页面似乎正常工作。如果我添加了publish_stream权限,则该页面会不断循环,并且一遍又一遍地加载(每次都重定向)。这是我的page_load代码,当它循环时,要使其不循环,我只删除逗号和第二个权限。奇怪的是,EITHER权限本身起作用:
 protected void Page_Load(object sender,EventArgs e)
{
  var auth = new CanvasAuthorizer();

  auth.Permissions = new[] { \"user_about_me,publish_stream\" };
  if (auth.Authorize())
  {
    var fb = new FacebookWebClient();
    dynamic me = fb.Get(\"me\");

    lblAuth.Text = string.Format(\"User {0} has given permission for this app.\",me.name);

  }
  else
  {
    lblAuth.Text = \"You have not given permission to this application\";
  }
}
我的aspx看起来像这样:
<asp:Label ID=\"lblAuth\" runat=\"server\" Text=\"\"></asp:Label>
<% if(!string.IsNullOrEmpty(Request.Params[\"signed_request\"])) { %>

<input type=\"hidden\" name=\"signed_request\" value=\"<%= Request.Params[\"signed_request\"] %>\" />

<% } %>
<asp:Button ID=\"btnPlaceOrder\" runat=\"server\" Text=\"Place Order\" 
        onclick=\"btnPlaceOrder_Click\" />&nbsp;
        <asp:Label ID=\"lblOrderPlaced\" runat=\"server\" Text=\"\"></asp:Label>
谢谢你的帮助!! 杰夫     

解决方法

        更改
auth.Permissions = new[] { \"user_about_me,publish_stream\" };
 auth.Permissions = new[] { \"user_about_me\",\"publish_stream\" };