0

我有这段代码使用 Facebook C# API v5 并在 AJAX 调用上运行以确定用户是否经过身份验证:

// Make sure user is logged into Facebook and authroized this application
if (!FacebookWebContext.Current.IsAuthenticated() ||
!FacebookWebContext.Current.IsAuthorized(new[] { "email" }))
{
    result.ResultCode = BasicResultCode.NotAuthorized;
    return result;
}

var fbuid = FacebookWebContext.Current.UserId;

在 v6 中,Facebook.Web 命名空间不存在,而且 FacebookWebContext 也无处可寻。我用什么代替上面的代码?

4

2 回答 2

1

我不确定这是否对你有帮助,但据我了解,Facebook 从 c# sdk 中删除了这些功能,因为他们想改变一些 Facebook cookie 的结构。通过删除 FacebookWebContext,他们/您不会遇到 cookie 结构可能已更改且不再兼容的问题。

相反,我认为您应该尝试通过Facebook Javascript SDK进行身份验证

尝试使用 FB.getLoginStatus和/或 FB.getAuthResponse

于 2012-07-23T02:23:02.147 回答
0

FacebookWebContext 不再可用。这已在版本 5 中标记为已弃用。对解决方案执行 Rebuild All 时,检查 Visual Studio 中的警告屏幕。

现在您必须使用 Facebook 命名空间中的 FacebookClient()。

然后,您必须检查可能有多个结果的 FacebookOAuthException。您可以在https://developers.facebook.com上找到 FacebookOAuthException 的文档

于 2012-07-23T10:52:55.477 回答