Asp.net mvc 使用Facebook';使用C#SDK执行s DeAuth回调
我正在尝试在.NETMVC3中处理来自Facebook的DeAuth回调,以便检索用户ID并从数据库中删除该用户 我创建了一个操作,该操作使用以下代码写入日志文件(用于调试): 起初,我的代码失败,因为Asp.net mvc 使用Facebook';使用C#SDK执行s DeAuth回调,asp.net-mvc,facebook-c#-sdk,Asp.net Mvc,Facebook C# Sdk,我正在尝试在.NETMVC3中处理来自Facebook的DeAuth回调,以便检索用户ID并从数据库中删除该用户 我创建了一个操作,该操作使用以下代码写入日志文件(用于调试): 起初,我的代码失败,因为app为null。然后我尝试将canvasAuthorization属性添加到控制器,这也没有多大帮助。是否有其他我应该添加的属性?还是我有别的地方错了 编辑: 我使用的是SDK的4.2.1版 编辑2: 多亏了,我发现以下代码可以完成这项工作(操作或控制器上没有任何属性) 我通过解析Faceboo
app
为null
。然后我尝试将canvasAuthorization属性
添加到控制器
,这也没有多大帮助。是否有其他我应该添加的属性?还是我有别的地方错了
编辑:
我使用的是SDK的4.2.1版
编辑2:
多亏了,我发现以下代码可以完成这项工作(操作或控制器上没有任何属性)
我通过解析Facebook点击您的DeAuth页面时发出的签名请求来实现这一点:
string signedRequestValue = Request.Form["signed_request"];
var app = new FacebookApp();
var sig = app.ParseSignedRequest(signedRequestValue);
long userid = sig.UserId;
我使用的是以前版本的SDK,我必须对其进行修改,以使ParseSignedRequest成为公共的(它是私有的),但我相信这是您正在使用的最新版本4.2.1中的公共方法。感谢您将我设置为正确的路径:)。代码实际上比您建议的还要简单。
var app = new FacebookApp();
var userId = app.SignedRequest.UserId;
string signedRequestValue = Request.Form["signed_request"];
var app = new FacebookApp();
var sig = app.ParseSignedRequest(signedRequestValue);
long userid = sig.UserId;