c# - 从 Facebook C# SDK 的 V5 迁移到 V6

标签 c# facebook-c#-sdk

我正在尝试从 SDK 的 V5.3.2 迁移到 V6。我有一个 ASP.NET 4.0 Canvas 应用程序。我注意到现在没有更多的 facebook.web.dll(我以前使用过),并找到了以下信息:

> Removal of Facebook.Web.dll and Facebook.Web.Mvc.dll Starting from v6, we are depreciating Facebook.Web.dll and Facebook.Web.Mvc.dll and will no longer be providing it. ... Starting from v6, you will have to use the Facebook Javascript SDK to get the access token and pass it to the server using secure https connection or use the Facebook OAuth Login Dialog. Decoding signed request (ParseSignedRequest/TryParseSignedRequest) has been moved to FacebookClient instead.

var fb = new FacebookClient();
dynamic signedRequest = fb.ParseSignedRequest("app_secret", Request.Params["signed_request"]); 

<<<< ( http://blog.prabir.me/post/Facebook-CSharp-SDK-Glimpse-into-the-Future.aspx ) 所以这一切都很好。以前,我的代码中有这个:

protected void Page_Load(object sender, EventArgs e)
{

    var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me" } };

    if (auth.Authorize())
    {
        ShowFacebookContent();
    }
}

要更改它,我现在已成功加载 Javascript SDK 并登录我的用户:

    <div id="fb-root"></div>

<script type="text/javascript">
        FB.init({ appId: 'xxxxxxx', cookie: true, status: true, oauth: true });

        FB.getLoginStatus(function (response) {
            if (response) {
                alert(response.authResponse.accessToken);
            }
        });

</script>

我已经对此进行了测试,它成功地登录了用户。但是我如何让它做回发并调用它之前调用的服务器端方法(ShowFacebookContent)?我假设无论我做什么都必须传递 accessToken 或 SignedRequest,这样 fb.ParseSignedRequest 才能工作,并且我们可以在服务器上生成 FacebookClient。

我猜有几个人会遇到类似的情况,试图迁移出 facebook.web.dll,所以任何指导都会非常好。

最佳答案

根据您的需要传递 signed_request 或 access_token。

并且也不要通过 http 传递 access_token。使用安全的 https 连接。

关于c# - 从 Facebook C# SDK 的 V5 迁移到 V6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9363077/

相关文章:

jquery - 在 facebook iframe 应用程序中使用 jquery - GET 与 POST

C# WPF带边框的透明窗口

c# - 在.net 6中,当服务初始化发生在值的配置绑定(bind)之前时,如何将参数传递给构造函数?

c# - 跟踪 winform C# 中的更改

facebook-c#-sdk - 使用Facebook C#API删除测试用户

facebook-c#-sdk - (100) 查询参数 : array expected. - facebook SDK C#

c# - client.get ("me/statuses") 使用 C# Facebook SDK 5.0.3 返回空的 "data"数组

c# - 为什么我的代码没有渲染一个非常简单的矩形?

c# - 如何将对象转换为带有格式字符串的字符串?

c# - 数据返回 null,谁能告诉我我在这里做错了什么?