[英]Facebook login for Windows app using Javascript and html5
[英]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.