为什么 facebook 重定向 url 不被 get_access 令牌端点识别

Why facebook redirect url is not recognized by get_access token end point

我正在设置一个新的登录名,以便从 Facebook 业务页面和 Messenger 板块表单访问中获取 post。因此,我在我的应用程序中设置了一个 facebook 登录。然后 facebook 给我发回错误信息

我已成功将登录代码添加到我的重定向 url。然而,在回调函数中,我尝试获取 facebook 访问令牌,并被堆叠 我已经检查了我的 facebook 重定向 url 设置以及我的代码,我很确定 facebook 设置上的重定向 url 和我的应用程序是相同的,感谢您的帮助

[HttpGet, Route("facebookCallBack"), AllowAnonymous]
        public async Task<IHttpActionResult> facebookCallBack([FromUri]string code)
        {
            string facebookAppId = ConfigurationManager.AppSettings["FacebookAppId"];
            string facebookAppSecret = ConfigurationManager.AppSettings["FacebookAppSecret"];
            string fbBaseUrl = ConfigurationManager.AppSettings["FacebookApiRootUrl"];
            var redirectUrl = "{my url}";
            var url = fbBaseUrl + "oauth/access_token?" 
                    + "client_id=" + facebookAppId 
                    + "&client_secret=" + facebookAppSecret 
                    + "&code=" + code 
                    + "&redirect_uri="+ redirectUrl;

            var client = new HttpClient();

            var request = await client.GetAsync(url);
            var strContent = await request.Content.ReadAsStringAsync();
            return Json(new { data = strContent , url= Request.RequestUri.AbsoluteUri , urlx = redirectUrl });
        }

我期待实际访问令牌的输出,但 facebook 给我 "Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog"。

对不起朋友们,我犯了一个愚蠢的错误,我用 myapp.mydomain.com/facebookCallBack 而不是 myapp.mydomain.com/facebookcallback 我认为浏览器和 api会自动将 capi 字母转换为小写字母,尽管我认为 facebook 不会在重定向 url 时检查 upper/lower 大小写。我错了,facebook api 会检查重定向 url 的精确匹配,并且重定向区分大小写。