私のモバイル Web サイトでは、ユーザーが Facebook の友達に AppRequest を送信できます。これは機能しています。
友人が AppRequest を受け入れると、Facebook は友人を私の Web サイトに送信します。これも機能しています。
私の Web サイトは ASP.Net MVC 4 アプリケーションです。着信 AppRequest の受け入れをルートに認識させようとしていますが、その方法がわかりません。
Facebook は、次の URL を使用して友達を私のサイトに送信しています。
ルートをカスタムコントローラーとアクションにマップしようとしても、これは 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();
}