【问题标题】:Using Facebook Dialog in Windows 8 HTML5/JavaScript App在 Windows 8 HTML5/JavaScript 应用程序中使用 Facebook 对话框
【发布时间】:2013-02-07 04:35:36
【问题描述】:

我正在按照对话框文档尝试在 Windows 8 应用商店应用程序 (html5/javascript) 中显示对话框。

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

在 Windows 8 应用商店应用中,我们必须使用 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 将在显示您调用的对话框之前提示他们登录。”我想知道如何提示用户登录?我是否错过了提示用户登录的参数?我翻遍了参数,似乎没有找到任何东西。

感谢您的帮助。

【问题讨论】:

    标签: javascript facebook iframe windows-8 microsoft-metro


    【解决方案1】:

    我看到你的不同行为,我将在这里记录,即使它可能不是“你的答案”。

    我获得了自己的访问令牌,当我使用您的 IFRAME 时,我确实看到了重定向到 Facebook.com 以登录的尝试;然而,随之而来的是 JavaScript 控制台中的安全错误 - 包括以下内容:

    APPHOST9613:应用无法导航到 https://www.facebook.com/login.php?api_key=177388709024886&skip_api_login=1... 因为这个错误: FORBIDFRAMING。

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

    还有some discussion on an MSDN Forum thread,它有点过时了,但我不知道从那以后有任何变化。

    我还没有尝试过使用Windows Azure Mobile Services 直接使用 Window 8 应用程序登录 Facebook,但它可能值得一试。 Azure 移动服务的设置非常简单,因此您会很快知道 HTML5/JS Windows 应用商店应用中是否仍然存在问题。

    【讨论】:

    • 吉姆,感谢您试用。你的结果很有帮助。由于登录屏幕有 X-Frame-Options 标头,有什么办法可以解决这个问题以允许 Windows 8 JavaScript 应用程序显示它。我在 social.msdn 论坛上阅读了一些讨论,但还没有看到任何帮助。
    • @JimONeil,对不起,但我想我不了解 Windows Azure 移动服务。 Facebook Dialog 是仅限客户端的,并且以这种方式设计(要求最终用户交互)以避免垃圾邮件。所以我不确定服务器端服务将如何提供帮助?注意:请随时纠正我,我很想在这个问题上错了。几个重要的 Facebook api 只能通过对话框使用,不能通过 Graph api 使用。
    • 另一个选项是WebAuthenticationBroker
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多