我几天来一直在寻找答案而且我没有成功,所以我最后发帖询问。
我正在开发一个本地的Facebook应用程序(它说我可以在指南中本地开发)并在尝试授权应用程序时遇到问题。
时收到的错误信息+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Canvas URL&网站网址:http://localhost:8888/app/
我正在使用EasyPHP端口8888.我尝试将端口号更改为80(默认值),8080(Facebook指南中使用的端口号)并且没有成功。
我不知道EasyPHP是导致问题还是我做错了。
这件事让我发疯。非常感谢。感谢。
答案 0 :(得分:2)
您必须设置redirect_uri=http://localhost:8888/app
并在Facebook应用的设置中(App domains
字段中)授权localhost域。
网站网址&出于安全原因,Canvas 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:)
答案 1 :(得分:0)
此处的问题是您的网址不在互联网上。它只能从您的计算机访问。您需要一个公共网址。
也许您可以使用dynDNS free在家中使用您的应用程序上网。
或者,让网络服务器连接到网络以托管您的应用程序。
祝你好运!
答案 2 :(得分:0)
这只是因为URL错误
指定网站的网址应该是正确的。
我提到网站网址为http://localhost:3000/,域名为localhost
但在我的浏览器中我运行http://0.0.0.0:3000/这是实际问题所以我运行服务器localhost:3000现在它工作正常。因为我们提到了站点url,因为localhost fb会重定向到同一个,如果我们运行0.0.0.0:3000,它将会出现错误,即应用程序配置不允许给定URL。
因此,您在Facebook应用中指定了您的网站网址。 你在本地运行的url应匹配
谢谢