facebook-graph-api - 将 Facebook sdk 与 Chrome 扩展一起使用

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

Popup.js 文件:

window.fbAsyncInit = function() {
                // init the FB JS SDK
                FB.init({
                    appId : ******, // App ID from the app dashboard
                    status : true, // Check Facebook Login status
                    xfbml : false // Look for social plugins on the page
                });

            };

            // Load the SDK asynchronously
            (function(d, s, id) {
                    var js, fjs = d.getElementsByTagName(s)[0];
                    if (d.getElementById(id)) {
                        return;
                    }
                    js = d.createElement(s);
                    js.id = id;
                    js.src = "https://connect.facebook.net/en_US/all.js";
                    fjs.parentNode.insertBefore(js, fjs);
                }
                (document, 'script', 'facebook-jssdk'));

list 文件:
{
  "manifest_version": 2,

  "name": "Charts",
  "description": "Demo",
  "version": "1.0",
  "content_security_policy": "script-src 'self' 'unsafe-eval' https://connect.facebook.net; object-src 'self'",     
  "permissions": [
    "https://connect.facebook.net/en_US/all.js"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

当我将包含桌面文件的文件夹作为扩展名上传到 chrome 时,我遇到了错误。但是,当我打开扩展程序并检查它时,我收到以下错误:

"拒绝执行 JavaScript URL,因为它违反了以下内容安全策略指令:"script-src 'self' 'unsafe-eval' https://connect.facebook.net “。”



“应用程序配置不允许给定 URL。:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或 Canvas URL 匹配,或者域必须是应用程序域之一的子域. 关于:空白:1"

任何帮助将不胜感激。

最佳答案

第一个错误来自 Chrome。您需要设置 content_security_policy 但确实如此。奇怪的是你的 content_security_policy 指令完全适合我:

"content_security_policy": "script-src 'self' https://connect.facebook.net ; object-src 'self'",

第二个错误来自 Facebook。因为您不能在 Facebook 应用程序设置中允许“chrome-extension”伪协议(protocol),所以您应该使用如下登录方法:

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.0

关于facebook-graph-api - 将 Facebook sdk 与 Chrome 扩展一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20849496/

相关文章:

api - 开发谷歌浏览器插件(没有扩展!)

javascript - Chrome 扩展 "contextMenus.create"标题属性验证器?

javascript - 客户端敏感数据加密

javascript - 如何存储 Google Chrome 扩展程序的偏好设置?

google-chrome-extension - 与 WebSQL 相比,IndexedDB 非常慢,我做错了什么?

php - 从 Facebook Graph API 获取第三方帖子

ios - ASIHTTPRequest 缓存禁用

facebook-graph-api - 无法使用 API Explorer 执行图形用户搜索

iPhone Facebook 登录屏幕问题

html - 我的网站上不显示“赞”按钮