【问题标题】:400 bad request when requesting Facebook access token请求 Facebook 访问令牌时出现 400 错误请求
【发布时间】:2010-10-13 13:35:27
【问题描述】:

我在请求访问令牌时收到来自 Facebook 的 400 错误请求错误。我的 return_uri 包含一个导致问题的查询字符串参数。我已经对 return_uri 进行了编码,但仍然出现错误。谁能帮我解决这个问题?

这是我发送给 Facebook 的请求:

“https://graph.facebook.com/oauth/access_token?client_id=IDb&client_secret=SECRET&redirect_uri=http%3a%2f%2fexample.com%2fOAuthHttpHandler.ashx%3fReturnUrl%3d%2fpage.aspx&code=CODE”

我收到“验证验证码错误”。错误信息。

我做了更多的挖掘,发现下面的 redirect_uri 工作正常:

“http://example.com/OAuthHttpHandler.ashx?ReturnUrl=page.aspx”

但如果我通过“/secure/page.aspx”的返回 url 验证失败。我已经尝试对正斜杠进行编码,但没有运气。

【问题讨论】:

    标签: asp.net facebook


    【解决方案1】:

    不幸的是,Facebook Oauth 实现不能很好地处理 return_uri 查询字符串中的 url 参数,即使它们被正确编码。 fb 开发者论坛中有几个线程讨论这个问题:

    http://forum.developers.facebook.net/viewtopic.php?pid=237845 http://forum.developers.facebook.net/viewtopic.php?pid=239866 http://forum.developers.facebook.net/viewtopic.php?pid=255231

    在其最终确定之前,您必须使用另一种传递状态的方法:会话、cookie 或在 url 中构建一个简单的页面特定标识符。

    【讨论】:

      【解决方案2】:

      经过数小时的搜索,我终于找到了一个很好的解决方案来解决 facebook access_token 请求返回“Bad Request 400”的问题。 发送到“https://graph.facebook.com/oauth/access_token”的 return_uri 参数必须与发送到“https://graph.facebook.com/oauth/authorize”的 uri 完全相同

      【讨论】:

        【解决方案3】:

        当我将它们发送到 facebook 时,我所做的只是用破折号替换斜线。然后在回调中,再次用斜线替换破折号!

        【讨论】:

        • 我也试过了......遗憾的是没有为我摆脱错误:(
        猜你喜欢
        • 1970-01-01
        • 2016-12-08
        • 2012-09-06
        • 1970-01-01
        • 1970-01-01
        • 2016-12-03
        • 1970-01-01
        • 2023-01-14
        • 2021-03-22
        相关资源
        最近更新 更多