facebookredirect.axd找不到错误

时间:2011-06-03 10:04:06

标签: facebook-c#-sdk

当我尝试使用最新的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以及命名空间的引用。

请指教。 感谢

1 个答案:

答案 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

中添加相关的授权和取消URL
var auth = new CanvasAuthorizer();
auth.ReturnUrlPath = "YOUR_AUTHORIZATION_SUCCESS_REDIRECT_URL_PATH";
auth.CancelUrlPath = "YOUR_AUTHORIZATION_CANCELLED_URL_PATH";

我不确定这是否及时帮助你,但是,它可能只是帮助别人。 快乐的编码!