Hej,
försöker bygga en facebook app med Facebook c# SDK (http://facebooksdk.codeplex.com/).
Första gången man besöker appen skickas man vidare till sidan där man får acceptera de efterfrågade rättigheterna. Det är när man accepterar dessa rättigheter som det blir fel, man skickas till startsidan för facebook.
Jag vill naturligtvis skicka användaren till min startsida(Default.aspx) för appen.
Adressen jag blir skickad till vid rättighetsförfrågan är:
http://www.facebook.com/connect/uiserver.php?app_id=\<APPID>&method=permissions.request&display=page&next=http%3A%2F%2Flocalhost%3A2143%2Ffacebookredirect.axd&response_type=code&state=eyJyIjoiaHR0cDovL2FwcHMuZmFjZWJvb2suY29tL2Jhcm5kYWdib2tlbi9EZWZhdWx0LmFzcHgifQ&fbconnect=1&perms=email
Varför står det facebookredirect.axd, och inte Default.aspx som är min startsida? Ändrar jag manuellt denna adressrad till:
http://www.facebook.com/connect/uiserver.php?app_id=\<APPID>&method=permissions.request&display=page&next=http%3A%2F%2Flocalhost%3A2143%2Ffacebookredirect.axd/Default.aspx&response_type=code&state=eyJyIjoiaHR0cDovL2FwcHMuZmFjZWJvb2suY29tL2Jhcm5kYWdib2tlbi9EZWZhdWx0LmFzcHgifQ&fbconnect=1&perms=email
dvs lägger till /Default.aspx efter facebookredirect.axd så hamnar jag på min startsida när jag accepterar rättigheterna.
I min web.config har jag detta bla:
<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="<APPSECRET>" appId="<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>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="facebookredirect.axd" verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</handlers>
</system.webServer>
Har även skapat en mapp vid namn facebookredirect.axd och däri lagt en web.config fil med följande:
<?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>
På min startsida har jag:
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);
}
Vad har jag gjort för fel? Varför skickas jag inte automatiskt till min Default.aspx sida när jag har accepterat rättigheterna?
Tacksam för all hjälp! :stud