Страница попадает в цикл, когда CanvasAuthorizer.Permissions имеет более одного разрешения - PullRequest
0 голосов
/ 14 июня 2011

У меня есть веб-проект (не mvc), и я пытаюсь узнать об интеграции с Facebook (я - разработчик из Facebook). На моей странице есть несколько простых HTML и кнопка asp.net. Я добавил скрытое поле для signature_request (для обратной передачи кнопок), и это тоже нормально. Проблема возникает, когда я пытаюсь добавить несколько разрешений в моей page_load. Если я проверяю только разрешения user_about_me, кажется, что страница работает правильно. Если я добавлю разрешение publish_stream, то страница постоянно зацикливается и просто загружается снова и снова (перенаправляется каждый раз). Вот мой код page_load, когда он зацикливается, чтобы он не зацикливался, я просто удаляю запятую и второе разрешение. Странно то, что ЛИБО разрешение работает само по себе:

 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>

Спасибо за любую помощь !! -Джефф

1 Ответ

1 голос
/ 15 июня 2011

изменение

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

до

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