Facebook中使用asp.net C#sdk的粉丝专享内容

Xen*_*non 6 c# asp.net facebook-graph-api facebook-c#-sdk

嗨我正在使用c#sdk在facebook上开发一个应用程序,我希望喜欢我的页面的用户只能使用我的应用程序.(像woobox)

我在这个链接中找到了php中的一些解决方案但是没有任何关于.net的来源如何在ASP.NET中获得喜欢的信息

我再次在这个链接中找到php的另一个例子,但我找不到c#的答案:\

谢谢

小智 10

在Facebook画布应用程序中加载您的网页时,您会收到签名请求; 您应该能够解析类似于以下内容的签名请求:

if (Request.Params["signed_request"] != null)
{
    string payload = Request.Params["signed_request"].Split('.')[1];
    var encoding = new UTF8Encoding();
    var decodedJson = payload.Replace("=", string.Empty).Replace('-', '+').Replace('_', '/');
    var base64JsonArray = Convert.FromBase64String(decodedJson.PadRight(decodedJson.Length + (4 - decodedJson.Length % 4) % 4, '='));
    var json = encoding.GetString(base64JsonArray);
    var o = JObject.Parse(json);
    var lPid = Convert.ToString(o.SelectToken("page.id")).Replace("\"", "");
    var lLiked = Convert.ToString(o.SelectToken("page.liked")).Replace("\"", "");
    var lUserId= Convert.ToString(o.SelectToken("user_id")).Replace("\"", "");
}
Run Code Online (Sandbox Code Playgroud)

您需要添加对json库的引用,以便在C#中解析签名的请求,从http://json.codeplex.com/下载

另请参阅如何在C#中为Canvas signed_request解码OAuth 2.0?如果你对签名请求感到厌烦