1

我有一个显示共享弹出窗口的应用程序。我在尝试让它从不同的服务器上工作时遇到了一个问题。我收到以下错误:

错误 myapp 发生错误。请稍后再试。

API 错误代码:191 API 错误描述:指定的 URL 不属于应用程序
错误消息:redirect_uri 不属于应用程序。

我怎样才能让它在所有服务器上工作?不管他们是不是我的?有什么建议么?

提前致谢。

注意:我希望它通过 JS SDK。

4

1 回答 1

2

Facebook 应用程序只能与一个主域一起使用。
主域源自开发人员应用程序的应用程序设置页面中定义的“站点 url”或“移动 web url”。

但是,您可以为同一域添加子域。
例如,假设您的“站点 url”是http://app.example.com,您可以通过将它们添加到设置页面(基本选项卡)中的“应用程序域”字段来添加更多要与 facebook 一起使用的子域。
您可以添加子域,例如:http://sub1.example.comhttp://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 对话框。

于 2012-05-28T17:18:59.410 回答