Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Facebook SDK canvasautroize属性重定向我的ajax调用,不会';无法到达控制器代码_C#_Jquery_Asp.net Mvc_Facebook_Facebook C# Sdk - Fatal编程技术网

C# Facebook SDK canvasautroize属性重定向我的ajax调用,不会';无法到达控制器代码

C# Facebook SDK canvasautroize属性重定向我的ajax调用,不会';无法到达控制器代码,c#,jquery,asp.net-mvc,facebook,facebook-c#-sdk,C#,Jquery,Asp.net Mvc,Facebook,Facebook C# Sdk,我有一个FB应用程序,可以很好地处理MVC内部的回发,但是当我尝试使用jquery$.post()将一些数据发布到具有requireauthorize属性的控制器时,FB会重定向它,我无法让它工作。它只返回一块脚本代码,我相信这是来自FB或其他东西的嘲笑 示例:UI按钮单击代码 //Client side JS button click event $.post("/Friends/Save", "{ 'requestIds':'"+ response.request_ids + "'}", f

我有一个FB应用程序,可以很好地处理MVC内部的回发,但是当我尝试使用jquery$.post()将一些数据发布到具有requireauthorize属性的控制器时,FB会重定向它,我无法让它工作。它只返回一块脚本代码,我相信这是来自FB或其他东西的嘲笑

示例:UI按钮单击代码

//Client side JS button click event
$.post("/Friends/Save", "{ 'requestIds':'"+ response.request_ids + "'}", function (data) {
    alert("Friend requests saved!");
});
我的MVC控制器代码:

[HandleError]
public class FriendsController : Controller
{
    [CanvasAuthorize(Perms = "user_about_me")]
    public JsonResult Save(string requestIds)
    {
        //Save to DB
        //(....)

        return Json(new { Status = "Saved!" });
    }
}
如果我对属性进行注释,一切正常,任何人都可以帮助我解决这一问题? 我需要检查的每一个职位,它是由一个FB登录用户完成


提前谢谢!祝你一天愉快

我也经历过同样的问题。我的解决方案是分离Get和Post控制器方法(通过[AcceptVerbs(HttpVerbs.Get)]和[AcceptVerbs(HttpVerbs.Post)]),并且只在Get方法上放置[CanvasAuthorize]属性。当我执行ajax Post时,我会在Post中包含已签名的请求,我可以使用该请求获取访问令牌。

Hi Pat!谢谢你的好消息。请您发布一段代码,显示带有签名请求的帖子,以及使用获取访问令牌的服务器端代码,好吗?我对这个FB应用程序的世界有点陌生,随着不断的变化,对我来说更加困难。。。我将非常感激!我相信我在网上找到了一些东西这就是你在做的吗?假设在通过会话令牌发送时,canvasAuthorization属性不需要执行重定向,对吗?该博客条目中的方法看起来与我可以使用的基本方法相同。他正在传递从Javascript客户端库获得的auth_令牌。事实上,我自己也这样做了,并且通过了签名的请求。在生产中,我记录了一些错误,其中由于我不理解的原因,auth_令牌被传递为null,在这种情况下,我尝试解密已签名的请求,并从中找到一个好的auth_令牌。