Rof*_*ers 2 c# facebook facebook-c#-sdk
任何人都可以指出我如何在MVC应用程序中使用Facebook C#SDK的表单帖子?这是一个基于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();
}
Run Code Online (Sandbox Code Playgroud)
形式就是这样
<form action="/EnterComp/Enter" enctype="multipart/form-data" method="post">
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<label for="Text">Text</label>
</div>
<div class="editor-field">
<input id="Text" name="Text" type="text" value="" />
</div>
<div class="editor-label">
<label for="ImagePath">ImagePath</label>
</div>
<div class="editor-field">
<input type="file" name="ImagePath" id="ImagePath">
</div>
<div class="editor-label">
<label for="VideoPath">VideoPath</label>
</div>
<div class="editor-field">
<input type="file" name="VideoPath" id="VideoPath">
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
但每次我提交表单时,它似乎都会重新进行身份验证 - 从而丢失表单集合.现在我确定有一些非常简单的东西我很想念,任何帮助都会受到赞赏.
编辑
我想我已经在这里回答了我自己的问题,但万一其他人跟我说话.对我来说,解决方案至少在这里.
但是,如果有人可以提出任何其他建议.请帮忙!
实际上有一个MVC表单的助手可以解决这个问题.
帮助器进入您的表单:
剃刀语法:
@Html.FacebookSignedRequest();
Run Code Online (Sandbox Code Playgroud)
ASP.NET语法
<%=Html.FacebookSignedRequest() %>
Run Code Online (Sandbox Code Playgroud)
所有这些实际上都是将signed_requeset存储为表单上的隐藏.这样,当发布表单时,Facebook身份验证器将能够重新授权该请求.
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |