使用Facebook C#SDK表单发布

任何人都可以指出我如何在MVC应用程序中使用Facebook C#SDK的表单post? 这是一个基于iframe的Canvas应用程序。

我有以下代码

[HttpPost, CanvasAuthorize(Permissions = "publish_stream")] public ActionResult Enter(FormCollection col) { var fbApp = new FacebookClient(this.CurrentSession.AccessToken); JsonObject result = (JsonObject)fbApp.Get("me"); long FacebookId = long.Parse(result["id"].ToString()); //CODE TO INSERT GOES HERE return View(); } 

forms就是这样

 
Fields

但每次我提交表单时,它似乎都会重新进行身份validation – 从而丢失表单集合。 现在我确定有一些非常简单的东西,我很遗憾,任何帮助都会受到赞赏。

编辑

我想我已经在这里回答了我自己的问题,但万一其他人跟我说话。 对我来说,解决方案至少在这里 。

但是,如果有人可以提出任何其他建议。 请帮忙!

实际上有一个MVC表单的助手可以解决这个问题。

帮助器进入您的表单:

剃刀语法:

 @Html.FacebookSignedRequest(); 

ASP.NET语法

 <%=Html.FacebookSignedRequest() %> 

所有这些实际上都是将signed_requeset存储为表单上的隐藏。 这样,当发布表单时,Facebook身份validation器将能够重新授权该请求。