我有一个非常普遍的问题(它很常见,必须有一个标签):
应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。
这种情况发生在以下情况 - 我写了rspec / capybara规范。其中一些规范测试某些链接是否正确重定向。问题中的链接是myapp的子域:http://support.myapp.com。 (我正在使用Uservoice服务,但我不认为这是相关的。)
所以我有以下配置:
http://localhost:3000/
Capybara.server_port = 42082
我遇到问题的其中一个测试就是这个:
scenario 'is redirected to feedback page in a new tab after clicking on feedback button' do
within('.menu-wrapper') { click_on I18n.t('shared.header.help') }
new_tab = page.driver.window_handles.last
page.within_window(new_tab) do
expect(current_url).to eq 'http://support.myapp.com/'
end
end
测试通过,但在控制台中我得到了开头提到的消息。在我的Facebook应用程序页面上,据我所知,我读过的许多SO中,与我的问题相关的字段是(我也提供了他们当前的状态):
在“设置/基本”标签下:
localhost
放在这里,但它抱怨这是一个顶级域名。所以我尝试了其他几个版本,例如localhost.com
或myapp.com
。当我这样做时,我将我的主机文件编辑为127.0.0.1 localhost.com
。http://localhost:3000/?origin=facebook&utm_campaign=fb&utm_source=fb
https://localhost:3000/?origin=facebook&utm_campaign=fb&utm_source=fb
在“设置/高级”标签下:
所以我尝试了几个这些字段的组合,因为我一整天都在解决这个问题。我得出的一些结论是:
http://localhost:42082
或http://support.myapp.com。不幸的是,错误消息并没有告诉我这两个中的哪一个导致了这个问题。localhost.com
- 我也编辑了我的主机文件,如上所述; http://localhost.com:42082/
http://localhost:42082/
当我以前登录时,我可以直接投票,所以我猜访问http://support.myapp.com会触发一些Facebook回调。
我应该在Facebook App页面中使用哪些值来获取给定的URL消息?您还有其他疑难解答的想法吗?