我的移动网站允许用户向他们的 Facebook 朋友发送 AppRequest。这是有效的。
当朋友接受 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();
}