我正在使用Python和JavaScript或PHP sdk。iframe选项卡facebook应用程序显示在新页面而不是iframe/facebook-canvas
要获取access_token - 我按照文档页面(https://developers.facebook.com/docs/authentication/)上指示的步骤操作。我将重定向url传递给dialog/oauth并获得了access_token。一旦完成,所有输出的html被发送回浏览器被渲染到一个新的页面,留下facebook iframe/canvas。 (fyi,所有输出都是通过通常的'self.response.out.write'函数调用完成的)。
似乎PHP sdk隐藏了这个,我找不到方法得到:http://www.facebook.com/dialog/oauth?client_id=%s&redirect_uri=%s“对话框将重定向url的输出发送到触发应用程序的iframe/canvas。这是一个'Page Tab'应用程序(不是'Facebook上的应用'),所以在基本应用配置页面上设置了“页面标签名称”和“页面标签URL”。通过IFRAME目标作为状态变量,并将其传递回重定向到URI。
我已经搜索了很多帖子/等等,没有运气,任何帮助将不胜感激!!
一些调查研究后 - http://www.facebook.com/dialog/oauth?client_id=%s&redirect_uri=%s被重定向到一个增强的权限对话框(见博客http://developers.facebook.com/blog /后/ 378 /)。这可能会迫使对话框显示为新页面,而不是启动应用程序的原始fb iframe/canvas上的新对话框。因此,来自这里的重定向将进入FB画布之外的新页面。有一种方法可以禁用增强的权限对话框,但我无法停止显示权限对话框。继续努力与此..任何帮助欢迎。 – user1055761
终于在看到php sdk后 - 在FB页面上找出了这个没有记录的严重问题。/* *如果用户第一次认证应用Facebook *重定向用户的baseUrl,所以我检查,如果任何代码通过 *然后重定向他的应用程序URL * -mahmud */ 如果(isset($ _ GET [ 'code'])){ header(“Location:”。$ fbconfig ['appBaseUrl']); 退出; } // ~~基本上你必须做一个重定向或标题的原始粉丝页,并再次触发应用程序。这通过signed_request和必要的数据向前移动来调用url。 – user1055761
现在,我很难得到这个工作生产(它与本地工作:8080,但是一旦在网络上,fb不会在重定向(标头调用)后发送sign_request)..继续研究。将详细发布所有调查结果.. – user1055761