Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook应用程序界面问题_Facebook_Redirect - Fatal编程技术网

Facebook应用程序界面问题

Facebook应用程序界面问题,facebook,redirect,Facebook,Redirect,我是Facebook发展的新手。我有一个嵌入在我的服务器html文档中的游戏。我通过了Oauth授权,一切似乎都正常。 现在,在我使用Facebook PHP SDK完成所有用户授权和应用程序验证后,我在我的www.myserver.com/index.PHP中,现在我该如何开始我的游戏,即从我所在的位置在IFRAME中运行我的html文件。因此,更清楚地说,应用程序认证代码的最后一部分是 //如果用户已连接到您的应用程序,请执行某些操作。 $signed_request=$facebook->

我是Facebook发展的新手。我有一个嵌入在我的服务器html文档中的游戏。我通过了Oauth授权,一切似乎都正常。 现在,在我使用Facebook PHP SDK完成所有用户授权和应用程序验证后,我在我的www.myserver.com/index.PHP中,现在我该如何开始我的游戏,即从我所在的位置在IFRAME中运行我的html文件。因此,更清楚地说,应用程序认证代码的最后一部分是 //如果用户已连接到您的应用程序,请执行某些操作。 $signed_request=$facebook->getSignedRequest;//从签名的请求令牌获取数据。 //确定应用于API调用的访问令牌。 $access\u token=$facebook->getAccessToken; 现在,我如何将Facebook重定向到我的html文件!! 我试过了 $appurl=mygame.html; 回响 然而,我得到了一个空白页,internet explorer给出了消息

此内容不能显示在框架中 为帮助保护您输入此网站的信息的安全,此内容的发布者不允许将其显示在框架中。 您可以尝试: 在新窗口中打开此内容


谁能帮帮我吗

考虑身份验证的流程

客户端->画布页面->服务器

现在您将知道它们未经身份验证,因为在第二步,您将得到一个空的签名请求,它将只包含编码,即HMACSHA256

因此,此时您可以返回一个HTML页面,将浏览器转发到OAUTH allow页面

例如


因此,当他们再次来到您的画布页面时,您将获得用户数据填充的signed_请求参数。

如果您在IE8或更少版本上收到此消息,可能是因为他们实现了

当我继续读下去时,我自己并不完全理解:

你可以通过链接或其他方式阅读所有无聊的东西 在下面安装P3P Compact策略标头。这将允许互联网 Explorer以接受您的第三方cookie。您需要发送 设置cookie的每个页面的标题

为此,只需添加这行代码即可为所有HTTP响应设置标头:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

这个限制是因为OAuth,Facebook很可能是根据规范实现的,规范建议不要在IFrame中嵌入身份验证流。 如果您仍然希望在画布页面中遵循服务器端流程,这可能会有所帮助

詹姆斯,谢谢你的回复。我读了你的回复好几次,但仍然对我感到困惑。我正在成功地通过身份验证。我的问题是当他们第二次来到我的画布页面时,我得到了签名请求$signed_request=$facebook->getSignedRequest;和访问令牌$access\u token=$facebook->getAccessToken;现在一切都很好。然而,现在我在我的画布页面中,如何加载驻留在画布页面内我的服务器中的html页面mygame.html?嗯,我认为您的mygame.html将需要从PHP动态生成,其内容将根据用户的登录状态进行更改。
https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&scope=PERMISSIONS&redirect_uri=YOUR_CANVAS_PAGE
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');