画布授权错误191

时间:2011-08-26 17:48:49

标签: facebook facebook-canvas

我正在尝试在facebook上实现一个画布页面。 Canvas tutorial表示我应该将redirect_url设置为画布页面:

http://apps.facebook.com/<appName>

然而,当我这样做时,我得到错误191.如果我将其设置为画布URL http://www.<mysite>.com/fbCanvas,那么我将丢失Facebook界面,因为它在“顶部”窗口中打开。实现此功能的正确方法是什么?这是Facebook的错误吗?

3 个答案:

答案 0 :(得分:4)

我有同样的问题,我这样解决了:

打开FBUtils.php并转到第94行,它会显示

echo("<script> top.location.href='" . $authorize_url . "'</script>");

将其替换为

echo("<script> window.location.href='" . $authorize_url . "'</script>");

就是这样,你不会离开FB,你的应用程序将在iframe中!

答案 1 :(得分:1)

这不是正常行为,您的画布页面可能正在做一些事情来摆脱Facebook框架,比如使用Javascript等设置window.top.location。

答案 2 :(得分:0)

redirect_url用于在身份验证过程后重定向用户。您不能将Facebook页面用作重定向目的地。 redirect_url必须与原始画布页面位于同一个域中。然后,您可以在身份验证过程之后将用户从您的域重定向到相关的Facebook页面。

1,apps.facebook.com/appName一直运行,直到您将用户重定向到FB AUTH流程页

2,FB AUTH PAGE将用户(在身份验证过程之后)重定向到http://www.mysite.com(您应该在此处实现身份验证)

3,您应该将用户重新更改为apps.facebook.com/appName返回

如果您拥有的不仅仅是画布访问点(标签页或网页),则此流程最灵活,但有点难以处理。