当我尝试使用最新的Facebook C#SDK进行身份验证时,我需要帮助解决以下错误消息。
我收到的错误消息是: -
无法找到资源。 描述:HTTP 404.资源 你正在寻找(或其中一个 依赖)可能已被删除, 它的名字改了,或者是 暂时不可用。请 查看以下网址并确保 拼写正确。
请求的网址: /WebSite17/facebookredirect.axd
这是我在default.aspx.cs文件中的内容
protected void Page_Load(object sender,EventArgs e) { 尝试 { var settings = ConfigurationManager.GetSection(“facebookSettings”); var current = settings as IFacebookApplication;
var auth = new CanvasAuthorizer { Permissions = new[] { "user_about_me" } };
if (auth.Authorize())
{
var client = new FacebookClient();
dynamic me = client.Get("me");
string firstName = me.first_name;
string lastName = me.last_name;
string email = me.email;
Response.Write("First Name: " + firstName + "<br>Last Name: " + lastName + "<br>Email: " + email + "<br>");
}
else
{
Response.Write("You didn't login to Facebook.");
}
}
catch (Exception ex)
{
Response.Write("Exception Message: " + ex.Message);
}
}
我已根据示例CSASPNETFacebookApp
设置了web.config文件我还做错了什么?我已经包含了Facebook.dll和Facebook.web.dll以及命名空间的引用。
请指教。 感谢
答案 0 :(得分:0)
对我来说这很有用,
1)web.config中的两个http处理程序标记位于system.web
中<httpHandlers>
<add verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web"/>
</httpHandlers>
,这在system.webServer
中<handlers>
<add name="facebookredirect" verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web"/>
</handlers>
参考:Facebook SDK 4.2.1 - http 404 error, after permissions 'allow'
2)我不得不添加标签validateIntegratedModeConfiguration =“false”来解决按照#1修改后生成的http 500错误。这在system.webServer
中<validation validateIntegratedModeConfiguration="false"/>
参考:facebookredirect.axd generates a 500 error
3)在CanvasAuthorizer
中添加相关的授权和取消URLvar auth = new CanvasAuthorizer();
auth.ReturnUrlPath = "YOUR_AUTHORIZATION_SUCCESS_REDIRECT_URL_PATH";
auth.CancelUrlPath = "YOUR_AUTHORIZATION_CANCELLED_URL_PATH";
我不确定这是否及时帮助你,但是,它可能只是帮助别人。 快乐的编码!