【问题标题】:Facebook app oauth dialog errorFacebook 应用程序 oauth 对话框错误
【发布时间】:2014-01-02 01:39:09
【问题描述】:

我这几天一直在寻找答案,但我没有成功,所以我终于发帖问了。

我正在本地开发一个 facebook 应用程序(它说我可以在指南中本地开发)并且在尝试授权该应用程序时遇到问题。

以下是我直接访问http://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=https://apps.facebook.com/MY_APP_NAME时收到的错误消息

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Error
An error occurred with Footmarker. Please try again later.

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: Invalid redirect_uri: Given URL is not allowed by the Application configuration.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

画布网址和网站网址:http://localhost:8888/app/

我使用的是 EasyPHP,因此端口号为 8888。我尝试将端口号更改为 80(默认)、8080(在 facebook 指南中使用的端口号),但没有成功。

我不知道是 EasyPHP 导致了问题还是我做错了什么。

这件事让我发疯。非常感谢帮助。谢谢。

【问题讨论】:

    标签: facebook oauth


    【解决方案1】:

    在这个网址中:http://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=https://apps.facebook.com/MY_APP_NAME

    您必须在您的 facebook 应用设置中设置 redirect_uri=http://localhost:8888/app 并授权 localhost 域(在 App domains 字段中)。

    站点 URL 和画布 URL 用于检查 redirect_uri 是否出于安全原因未设置为另一个 URL,但标准指定了 redirect_uri,因此他们允许此参数。

    就是为了这种错误我建立了OAuth.io。我们不希望更多像您一样为使用 OAuth 感到头疼的开发人员。

    使用起来真的很简单:

    OAuth.popup('facebook', function(err, res) {
        // here, you can use res.access_token to make your API Call
        // or...
        res.get('/me')
           .done(function(data) {
            alert('Hello ' + data.name)
        })
    })
    

    有了这个,你就不会再弄错 URL 了 :)

    【讨论】:

    • 很遗憾,您不能在 App Domains 字段中使用 localhostflic.kr/p/kHqiny
    【解决方案2】:

    这里的问题是您的 URL 不在 Internet 上。它只能从您的计算机访问。您需要一个公共 URL。

    也许您可以使用dynDNS free 在家中使用您的应用程序上网。

    或者,让网络服务器连接到网络来托管您的应用程序。

    祝你好运!

    【讨论】:

      【解决方案3】:

      这只是因为 URL 错误

      指定的任何网站 url 都应该是正确的。

      我提到网站 url 为 http://localhost:3000/ 和域为 localhost

      但在我的浏览器中,我正在运行 http://0.0.0.0:3000/,这是实际问题,所以我将服务器作为 localhost:3000 运行,现在它工作正常。因为我们提到站点 url 因为 localhost fb 将重定向到相同的地址,所以如果我们运行 0.0.0.0:3000 则会出现应用程序配置不允许给定 URL 的错误。

      请注意您在 facebook 应用程序中指定的网站网址。 并且您在本地运行的 url 都应该匹配

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-29
        • 2012-10-21
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        相关资源
        最近更新 更多