【问题标题】:Facebook API - all.jsFacebook API - all.js
【发布时间】:2012-11-06 17:37:23
【问题描述】:

我正在尝试使用 Facebook API 在我的网页上点赞。当前尝试使用all.js,它无法在下面的url 加载文件,因为它会将其转换为file://connect.

//connect.facebook.net/en_US/all.js#xfbml=1

将 url 显式更改为 http: 会产生不同的错误。

我们是否需要 APPID 来初始化这个 API 并使用 all.js 或者可以在没有 APPID 的情况下使用它吗?

参考网址: http://developers.facebook.com/docs/reference/plugins/like/

【问题讨论】:

    标签: facebook


    【解决方案1】:

    根据这个answer,需要一个AppId。您列出的参考 URL 中的工具会将您的 AppId 插入它生成的代码中。

    (function(d, s, id) {
        ...
        js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=xxxxxxxx";
        ...
    }(document, 'script', 'facebook-jssdk'));
    

    您可能会收到file://connect 错误,因为您正在通过在 Web 浏览器中打开本地文件而不是由真实 Web 服务器提供的文件进行测试。当您没有在链接中指定协议时,浏览器将假定它与当前页面的协议相同。

    来自 Facebook 文档:

    注意:代码中的 URL 是协议相关的。这让 浏览器通过与浏览器相同的协议(HTTP 或 HTTPS)加载 SDK 包含页面,这将防止“不安全内容”警告。 代码中缺少 http 和 https 是故意的。

    【讨论】:

    • 非常感谢!这种对相关协议的了解真的很有帮助。我会相应地修复它,但页面的 URL 不足以让“喜欢”工作。 iframe 在没有 APPID 的情况下工作,如果没有从 APPID 中逃脱,您能否再次确认以使用 ALL.JS。
    • 根据另一个 SO 答案,它是必需的:stackoverflow.com/questions/5574443/…
    • 我没有 APPID 并且在 FB 后嵌入代码中将 sdk.js 切换为 all.js 使得嵌入在不使用 sdk.js 时工作。
    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多