繁体   English   中英

在Windows 8 HTML5 / JavaScript应用中使用Facebook对话框

[英]Using Facebook Dialog in Windows 8 HTML5/JavaScript App

我正在遵循对话框文档,以尝试在Windows 8 Store应用程序(html5 / javascript)中显示对话框。

https://developers.facebook.com/docs/reference/dialogs/

在Windows 8 Store应用程序中,我们必须使用iframe来显示另一个网页。 这是我所做的一个示例:

<iframe src="https://www.facebook.com/dialog/feed?app_id=145634995501895&redirect_uri=http://www.facebook.com&show_error=true&display=iframe&access_token={access_token}"></iframe> 

由于它是iframe,因此我指定了display = iframe和access_token = {access_token}。 如果要尝试,请记住更改access_token。

我收到以下错误:

API Error Code: 110
API Error Description: Invalid user id
Error Message: Missing user cookie (to validate session user)

在此处输入图片说明

我想这可能是由于用户尚未登录引起的。 在文档( https://developers.facebook.com/docs/reference/dialogs/ )中,它说:“如果用户尚未登录,Facebook将在显示您调用的对话框之前提示他们登录。” 我想知道如何提示用户登录? 我是否错过了一个提示用户登录的参数? 我查看了参数,但似乎什么也没找到。

感谢您的帮助。

我看到的行为与您不同,我将在此处进行记录,即使它可能不是“您的答案”。

我获得了自己的访问令牌,并且在使用您的IFRAME时,确实看到了尝试重定向到Facebook.com进行登录的尝试; 但是,这之后是JavaScript控制台中的安全错误-包括以下内容:

APPHOST9613:该应用无法导航至https://www.facebook.com/login.php?api_key=177388709024886&skip_api_login=1 ...,因为存在此错误:FORBIDFRAMING。

对login.php脚本的请求生成带有X-FRAME-OPTIONS标头的DENY响应。 实际上,这确实会阻止来自Facebook的登录页面出现在应用程序的IFRAME中-因此是FORBIDFRAMING。

MSDN论坛线程上也有一些讨论,虽然讨论的时间过短 ,但是从那时起就不知道有任何更改。

我尚未尝试使用Windows Azure移动服务直接使用Window 8应用程序登录Facebook,但这可能是尝试的方法。 Azure移动服务的设置非常简单,因此您将很快知道HTML5 / JS Windows Store应用程序中是否仍然存在问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM