我有一个显示共享弹出窗口的应用程序。我在尝试让它从不同的服务器上工作时遇到了一个问题。我收到以下错误:
错误 myapp 发生错误。请稍后再试。
API 错误代码:191 API 错误描述:指定的 URL 不属于应用程序
错误消息:redirect_uri 不属于应用程序。
我怎样才能让它在所有服务器上工作?不管他们是不是我的?有什么建议么?
提前致谢。
注意:我希望它通过 JS SDK。
我有一个显示共享弹出窗口的应用程序。我在尝试让它从不同的服务器上工作时遇到了一个问题。我收到以下错误:
错误 myapp 发生错误。请稍后再试。
API 错误代码:191 API 错误描述:指定的 URL 不属于应用程序
错误消息:redirect_uri 不属于应用程序。
我怎样才能让它在所有服务器上工作?不管他们是不是我的?有什么建议么?
提前致谢。
注意:我希望它通过 JS SDK。
Facebook 应用程序只能与一个主域一起使用。
主域源自开发人员应用程序的应用程序设置页面中定义的“站点 url”或“移动 web url”。
但是,您可以为同一域添加子域。
例如,假设您的“站点 url”是http://app.example.com
,您可以通过将它们添加到设置页面(基本选项卡)中的“应用程序域”字段来添加更多要与 facebook 一起使用的子域。
您可以添加子域,例如:http://sub1.example.com
或http://example.com
.
如果您尝试添加不是从该 URL 派生的 url,则在尝试保存设置时应该会收到以下错误消息:
错误
DOMAIN_YOU_ADDED 必须来自您的站点 URL 或您的移动网络 URL。
如果您想使用该FB.ui
方法,您会遇到问题。
fb sdk 将只接受来自您自己的域的使用,如果您从自己的域加载 iframe,则父窗口(属于另一个域)将无法与该 iframe 通信(同源策略)。
您应该能够使用提要对话框的直接网址:
http://www.facebook.com/dialog/feed?
app_id=123050457758183&
link=http://developers.facebook.com/docs/reference/dialogs/&
picture=http://fbrell.com/f8.jpg&
name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs%20to%20interact%20with%20users.&
redirect_uri=http://www.example.com/response
您可以在新窗口/选项卡中打开它,或者如果它是用户单击的操作,则甚至打开一个弹出窗口。
但是您将无法使用 sdk 的 iframe 对话框。