为什么 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 的精确匹配,并且重定向区分大小写。
我正在设置一个新的登录名,以便从 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 的精确匹配,并且重定向区分大小写。