【问题标题】:The Facebook JavaScript SDK does not work on chrome extensionFacebook JavaScript SDK 不适用于 chrome 扩展
【发布时间】:2017-09-07 15:08:13
【问题描述】:

我正在编写一个 chrome 扩展。扩展的功能包括 Facebook 登录。该扩展不支持外部 JavaScript 链接,因此我不得不在扩展的清单文件中创建“content_security_policy”。现在它可以工作了,它正在加载 Facebook SDK 的外部文件。我现在面临的问题是;在 Facebook 开发人员帐户中创建应用程序时,我将域和 URL 指定为 http://localhost.com/,当我在我的扩展程序上运行 SDK 脚本时,它显示一个错误:

无法加载 URL:此 URL 的域不包含在应用程序的域中。为了能够加载此 URL,请将应用的所有域和子域添加到应用设置中的“应用域”字段。

当我加载 URL 时,它会显示链接:

chrome-extension://hpkkicffiddlopkeiobamkfhfbbofmel/index.html

通过将此 URL 放置在 Facebook 开发人员应用程序中,它给了我无效错误。我现在该怎么办?

【问题讨论】:

  • 我认为this的问题很相似。
  • 请提供您的代码的Minimal, Verifiable and Complete Example 以复制错误。如果您的问题的性质使您无法做到这一点,则它超出了 SO 的范围。
  • @MoshFeu 第二个问题没有解决。网址一
  • @Tijmen 我正在制作一个 chrome 扩展,在其中我将用户公共个人资料信息保存在数据库中。要访问 facebook API,我需要在 developer.facebook.com 中设置应用程序,然后我将 URL 设置为 http:localhost.com,将域名设置为 localhost.com,但现在扩展程序的 url 不同并且正在显示我突出显示的错误,我不知道它应该在应用程序中遵循哪个协议来使用它

标签: javascript facebook google-chrome facebook-graph-api google-chrome-extension


【解决方案1】:

由于此限制,您无法在 Chrome 扩展程序中使用 JavaScript SDK 进行 OAuth 登录 - 您无法重定向到扩展程序页面。

您可以使用chrome.identity API,它提供了一个非chrome-extension: 的虚拟URL,可以与Facebook 一起使用。这将为您提供与其他 Facebook API 一起使用的令牌。

有示例代码here。

或者,您可以使用the whole OAuth flow manually。

【讨论】:

  • 基本上我没有用它来登录,我只需要一些信息,这就是我得到的,但我正面临这个问题,我现在不知道如何克服这个问题
  • 大概你还需要一个访问令牌。
  • getRedirectURL 可以帮助我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 2012-11-06
  • 2018-12-29
  • 1970-01-01
相关资源
最近更新 更多