Я читал много веток по этому поводу, но я не нашел решения, которое работает.
У меня проблема с 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, страница «ломается» ....
Что я сделал не так?
Благодарен за любую помощь!