2011-01-13 44 views
3

这里是什么,我想完成的简短要点:表单数据丢失从Facebook画布iframe的应用程序发布时

  • 使用Facebook C#SDK与asp.net MVC
  • 邮政定制从Facebook的帆布iframe应用程序服务器表单数据
  • 我目前正在建设关MVC样品提供

他们我有问题是,当我提交表单上的iframe画布应用我从Facebook获得的唯一数据是signed_request表单参数。我需要的是表格中的数据。

我已经看过了各种解决方案的问题(see this link),但我不能让他们的工作。当我访问FacebookSession对象时,没有会话密钥返回,因此我无法关注链接指导。

任何可以提供如何做到这一点guidence将非常感激。

回答

0

我遇到了同样的问题,最后做这样的:

<form method="post" id="form1" target="_top">
<input type="text" id="sometext" />
<input type="submit" id="button" />
</form>

<script language="javascript" type="text/javascript">
$(document).ready(function() {
$("#button").click(function() {
var action = '<%= Url.CanvasAction("Create", "Home") %>';
action += "?sometext=" + escape($("#sometext"));
$("#form1").attr("action", action);
});
}
</script>

这样做的缺点是,现在你有一个限制发送沿查询字符串的数据,IE最大各地2048个字符它扒东西掉之前最糟糕的是,它暴露在外,并且对该机器的用户开放,特别是当它位于公共咖啡馆酒吧或其他地方时,他们可以看到最后一个人发布到您的应用的内容!

我也想知道为什么在Facebook上brainyacks想不出只接受贴到他们的表单数据仅仅将其转发逐字返回给应用程序 - >白痴!

+0

的原因,他们没有这样的说法在这里解释//developers.facebook。com/docs/canvas/post/ – benjguin 2012-05-11 23:21:09

0

我有同样的问题,通过POST或GET数据与画布应用程序,并找到了答案上this post。就在这个输入添加到您的形式:

<input type="hidden" value="<?php echo $_POST["signed_request"]?>" name="signed_request" /> 
1

ow3n is correct,您需要在您的文章数据signed_request。其中,对于C#的Facebook应用程序(假设剃刀的观点),是指添加以下内容到形式:HTTPS:

<input type="hidden" value="@Request.Params["signed_request"]" name="signed_request" /> 
+0

对于downvote,你可以添加一个评论,提到为什么请。这个问题被标记为'facebook-c#-sdk',所以我认为C#答案会非常适合php。 – Wilka 2013-01-28 09:56:38

相关问题