2

我知道有一种方法可以使用画布应用程序的 iframe 中的 javascript 将页面重定向到外部 url。但是有没有其他方法可以让用户在授权应用程序后立即直接重定向到外部 url。

我知道这是可能的,因为 Facebook 上一个著名的应用程序 klout 做到了。

http://apps.facebook.com/klout__/

重定向到

http://klout.com/一旦用户自动

记得我收到了我的 Facebook 朋友的邀请请求。当我单击邀请通知并授权应用程序时,它重定向到外部 url。知道这是如何完成的吗?我认为这在 Facebook 政策中也不会受到鼓励?

4

1 回答 1

2

Facebook 希望确保与其交互的服务器与应用程序设置中设置的域相同。

在 klout 示例中,您给出的他们所做的是添加一个在应用程序设置中完成的应用程序域,但是您可以在那里添加的域是有限的。例如,如果您在设置中的站点 URL 设置为“www.example.com”,那么您可以将“examlpe.com”或“sub.example.com”添加到应用程序域。但是,如果您尝试添加“www.example2.com”,您会得到:

错误

example2.com 必须从您的站点 URL 或您的移动 Web URL 派生。


编辑

对不起,我没有正确理解你。

如果您只想将用户重定向到主窗口中的 url,那么您可以像这样使用 javascript:

top.location.href = "http://www.example.com";

我之前指的是能够将“www.example.com/”作为站点 url(在设置中)并且仍然使用带有 redirect_uri 等的“sub.example.com”。


第二次编辑

忘了提及这一点:在Facebook 平台政策中,它指出:

13. Facebook 上的 Canvas 或 Page Tab 应用程序的主要目的不能是简单地将用户从 Facebook 体验重定向到外部站点

因此,您不应该将用户重定向到 Facebook 之外。

于 2012-04-19T16:48:06.737 回答