【发布时间】:2011-09-08 14:08:05
【问题描述】:
我研究了标题中提到的主题。解决方案说(除了this one)FacebookWebContext.IsAuthorized()抛出的"Precondition failed: !string.IsNullOrEmpty(settings.AppId)"异常是由于没有设置签名请求引起的,可以从查询字符串中得到。
我正在开发一个 ASP.NET MVC 网站,我想实现 Facebook Connect 身份验证。身份验证部分工作正常,但如果我尝试检查用户授予应用程序的权限(使用HasPermissions() 或IsAuthorized()),我会收到此错误。
FacebookWebContext 使用应用设置正确初始化。据我所知signed_request 仅在画布应用中可用,还是我错了?
普通网站如何在用户认证后查看权限?
提前致谢!
编辑: 以下是引发的异常的详细信息:
System.Diagnostics.Contracts.__ContractsRuntime.ContractException occurred Message=Precondition failed: !string.IsNullOrEmpty(settings.AppId) Source=Facebook.Web StackTrace:
at System.Diagnostics.Contracts.__ContractsRuntime.TriggerFailure(ContractFailureKind kind, String message, String userMessage, String conditionText, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.ReportFailure(ContractFailureKind kind, String message, String conditionText, Exception inner)
at System.Diagnostics.Contracts.__ContractsRuntime.Requires(Boolean condition, String message, String conditionText)
at Facebook.Web.FacebookWebContext..ctor(IFacebookApplication settings, HttpContextBase httpContext)
at Facebook.Web.FacebookWebContext..ctor()
at Facebook.Web.FacebookWebContext.get_Current()
at Facebook.Web.FacebookWebClient..ctor(String accessToken)
at Facebook.Web.FacebookWebContext.HasPermissions(String accessToken, String appId, Int64 userId, String[] permissions)
at Facebook.Web.FacebookWebContext.IsAuthorized(String[] permissions)
at Piedone.FacebookTest.IsAuthorized(String[] permissions) InnerException:
【问题讨论】:
标签: c# asp.net-mvc facebook facebook-c#-sdk