我知道有一种方法可以在画布应用程序的iframe中使用javascript将页面重定向到外部URL。但是有没有其他方法,让用户在授权应用程序后立即直接重定向到外部 URL。
我知道这是可能的,因为Facebook上一个著名的应用程序Klout做到了。
http://apps.facebook.com/klout__/
重定向至
用户后立即自动 http://klout.com/
记得我收到了来自 Facebook 好友的邀请请求。当我单击邀请通知并授权应用程序时,它会重定向到外部 URL。知道这是怎么做到的吗?我认为Facebook的政策也不会鼓励这样做吗?
Facebook希望确保与之交互的服务器与应用设置中设置的域相同。
在 klout 示例中,您给出的是添加应用程序域,这是在应用程序设置中完成的,但您可以在那里添加的域存在限制。例如,如果设置中的站点网址设置为"www.example.com",则可以将"examlpe.com"或"sub.example.com"添加到应用程序域。但是,如果您尝试添加"www.example2.com",您将获得:
错误
example2.com 必须派生自您的网站 URL 或移动网站 网址。
编辑
对不起,我没有正确理解你。
如果你想简单地将用户重定向到主窗口中的网址,那么你可以像这样使用javascript:
top.location.href = "http://www.example.com";
我之前指的是将"www.example.com/"作为站点 url(在设置中)并且仍然将"sub.example.com"与redirect_uri等一起使用的能力。
第二次编辑
忘了提这个:在Facebook平台政策中,它指出:
13 .在 Facebook 上使用 Canvas 或 Page Tab 应用的主要目的绝不能只是简单地将用户重定向到 Facebook 体验之外 并连接到外部站点
因此,您不应该将用户重定向出Facebook。