我试图通过我的FB应用程序将它们发布到墙上来分享Facebook上的项目。我在客户端和服务器端设置了所有内容(ASP.NET MVC3),但我注意到当ActionMethod使用CanvasAuthorize
属性进行修饰时,该方法根本不会被触发。那么我有什么可以做的吗?
P.S:我通过AJAX调用检查了发布的数据,结果一切都很好。此外,如果我评论[CanvasAuthorize]
行,该方法会被触发并且参数都很好,除非我进入fb.Post()
调用,它会抱怨没有access_token是有意义的。
//[CanvasAuthorize(Permissions = "publish_stream")]
public ActionResult PostItem(string message, string link, string picture, string name)
{
var fb = new FacebookWebClient();
var postArgs = new Dictionary<string, string>();
postArgs["message"] = message;
postArgs["link"] = link;
postArgs["picture"] = picture;
postArgs["name"] = name;
fb.Post("/me/feed", postArgs);
return Json(new {result = "success"}, JsonRequestBehavior.AllowGet);
}
有什么想法吗?
更新
答案 0 :(得分:0)
使用您通过ajax调用传递的隐藏字段。
您可以自己实现或使用:
<%: Html.FacebookSignedRequest() %>