我有这个使用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无处可寻。对于上面的代码,我该使用什么?
答案 0 :(得分:1)
我不确定这是否会对您有所帮助,但据我了解,Facebook从c#sdk中删除了这些功能,因为他们想要更改某些Facebook Cookie的结构。通过删除FacebookWebContext,他们/您不会冒险遇到cookie结构可能已更改且事物不再兼容的问题。
相反,我认为您应该尝试通过Facebook Javascript SDK
进行身份验证尝试使用 FB.getLoginStatus和/或 FB.getAuthResponse
答案 1 :(得分:0)
FacebookWebContext不再可用。这已在第5版中标记已弃用。在解决方案上执行“全部重建”时,请在Visual Studio中检查警告屏幕。
现在你必须使用Facebook命名空间中的FacebookClient()。
然后,您必须检查可能有多个结果的FacebookOAuthException。您可以在https://developers.facebook.com
上找到FacebookOAuthException的文档