Проблема перенаправить пользователя на стартовую страницу - PullRequest
1 голос
/ 05 июня 2011

Я читал много веток по этому поводу, но я не нашел решения, которое работает.

У меня проблема с SDK для Facebook C #. Я не могу перенаправить пользователя на стартовую страницу. Я думаю, что есть проблема с facebookredirect.axd. Что это такое? Кстати, я не могу отправить пользователя на стартовую страницу моего приложения? Когда я захожу на стартовую страницу приложения Facebook, меня перенаправляют на страницу разрешений, а когда я принимаю разрешение, я перенаправляем на стартовую страницу Facebook (www.facebook.com). Зачем? Почему бы не мое приложение?

Это URL на странице разрешений: http://www.facebook.com/connect/uiserver.php?app_id=&method=permissions.request&display=page&next=http%3A%2F%2Flocalhost%3A2143%2Ffacebookredirect.axd&response_type=code&state=eyJyIjoiaHR0cDovL2FwcHMuZmFjZWJvb2suY29tL2Jhcm5kYWdib2tlbi9EZWZhdWx0LmFzcHgifQ&fbconnect=1&perms=email

Если я вручную изменю facebookredirect.axd на facebookredirect.axd / Default.aspx (в URL), это работает, но должны ли посетители делать это?

Это немного моего web.config:

<configSections>
    <section type="Facebook.FacebookConfigurationSection, Facebook" name="facebookSettings" allowLocation="true" allowDefinition="Everywhere" />
    <section name="canvasSettings" type="Facebook.Web.CanvasConfigurationSettings, Facebook.Web" />
  </configSections>

  <facebookSettings canvasPage = "http://apps.facebook.com/<APPNAME>/" secureCanvasUrl="http://localhost:2143/" canvasUrl="http://localhost:2143/" appSecret="" appId="" cancelUrlPath = "" />
  <canvasSettings canvasUrl="http://localhost:2143/" canvasPageUrl="http://apps.facebook.com/<APPNAME>/" authorizeCancelUrl="http://facebook.com"/>

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

  </httpHandlers>

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

Я создал карту с именем facebookredirect.axd и добавил в нее файл web.config со следующим:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpHandlers>
      <clear/>
      <add path="*" verb="*" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <handlers>
      <clear/>
      <add name="facebookredirect" path="*" verb="*" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </handlers>
  </system.webServer>
</configuration>

На стартовой странице (Default.aspx) у меня есть это:

        CanvasAuthorizer auth = new CanvasAuthorizer { Permissions = new[] { "email" } };

        if (auth.Authorize())
        {
            FacebookWebClient client = new FacebookWebClient();
            dynamic parameters = new ExpandoObject();
            parameters.fields = "id, name, third_party_id, username";
            dynamic result = client.Get("me", parameters);
        }

Когда я создавал этот сайт с помощью Facebook javascript sdk, он работал отлично, и теперь, когда я пробую Facebook C # SDK, страница «ломается» ....

Что я сделал не так?

Благодарен за любую помощь!

...