Мой мобильный веб-сайт позволяет пользователям отправлять AppRequest своим друзьям в Facebook. Это работает.
Когда друг принимает AppRequest, Facebook отправляет друга на мой веб-сайт. Это тоже работает.
Мой веб-сайт представляет собой приложение ASP.Net MVC 4. Я пытаюсь заставить свои маршруты распознавать входящее принятие AppRequest, но я не могу понять, как это сделать.
Facebook отправляет друзей на мой сайт, используя этот URL:
http://www.example.com/?ref=notif&code=abcdefg&fb_source=notification а>
Это продолжает направляться в Home/Index, несмотря на мои попытки сопоставить маршрут с пользовательским контроллером и действием. Вот что я сделал до сих пор, что не сработало:
Зарегистрированные маршруты:
routes.MapRoute(
name: "FacebookAppRequest",
url: "{ref}/{code}/{fb_source}", //This should match the URL above
defaults: new { controller = "Facebook", action ="FBAppRequestHandler"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Контроллер:
public class FacebookController : Controller
{
public FacebookController() {}
public ActionResult FBAppRequestHandler(
[Bind(Prefix = "ref")] string fbReferal,
[Bind(Prefix = "code")] string fbCode,
[Bind(Prefix = "fb_source")] string fbSource)
{
//Do some stuff with fbReferal, fbCode and fbSource
return View();
}