通过master_preferences JSON文件修改Google托管首选项

时间:2016-11-01 14:27:10

标签: json google-chrome-extension google-chrome-devtools chromium

我正在尝试设置一个环境,当用户第一次登录Chrome时,他们会安装预定书签和扩展程序列表。我尽可能地遵循Chromiums指南,但是当涉及到grant_permissions部分时似乎失败了,在理想的世界中,用户打开Chrome并且不会被提示"此扩展需要新的权限" 。根据我可以收集的内容,这是通过granted_permissions条目,但是这些似乎没有解析为chrome,我已经包含了以下代码的快照:

{
"homepage": "MY_URL",
"homepage_is_newtabpage": false,
"extensions": {
    "settings": {
        "hdokiejnpimakedhajhdlcegeplioahd": {
            "location": 1,
            "manifest": {
                "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiL9y2jziKp5kjb13uYG1bAXsuemUKAYUAwR/N9qTuhMIuly02Ecm63dOkn+M2r26IGfDE/lbPv/dB/W+d34pqGo5uJJY+Omt9t3xsIuz7mQwuvF1H5ozj0OHok5XDFRaBIfPa06RhQw3M7sSZJvQ+qqD3+dr0aLX+mvi0LQ11uQIDAQAB",
                "name": "LastPass",
                "update_url": "http://clients2.google.com/service/update2/crx",
                "granted_permissions": {
                    "api": [ "contextMenus", "idle", "notifications", "tabs", "unlimitedStorage", "webRequest", "webRequestBlocking" ],
                    "explicit_host": [ "http://*/*", "https://*/*" ],
                    "scriptable_host": [ "file:///*", "http://*/*", "https://*/*", "https://1min-ui-prod.service.lastpass.com/*" ]
                },
                "version": "0.0"
            },
            "path": "hdokiejnpimakedhajhdlcegeplioahd\\0.0",
            "state": 1
        },
        "cjpalhdlnbpafiamejdnhcphjbkeiagm": {
            "location": 1,
            "manifest": {
                "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmJNzUNVjS6Q1qe0NRqpmfX/oSJdgauSZNdfeb5RV1Hji21vX0TivpP5gq0fadwmvmVCtUpOaNUopgejiUFm/iKHPs0o3x7hyKk/eX0t2QT3OZGdXkPiYpTEC0f0p86SQaLoA2eHaOG4uCGi7sxLJmAXc6IsxGKVklh7cCoLUgWEMnj8ZNG2Y8UKG3gBdrpES5hk7QyFDMraO79NmSlWRNgoJHX6XRoY66oYThFQad8KL8q3pf3Oe8uBLKywohU0ZrDPViWHIszXoE9HEvPTFAbHZ1umINni4W/YVs+fhqHtzRJcaKJtsTaYy+cholu5mAYeTZqtHf6bcwJ8t9i2afwIDAQAB",
                "name": "uBlock Origin",
                "update_url": "http://clients2.google.com/service/update2/crx",
                "version": "0.0"
            },
            "path": "cjpalhdlnbpafiamejdnhcphjbkeiagm\\0.0",
            "state": 1
        }
    }
},
"session": {
    "restore_on_startup": 1,
    "startup_urls": [
        "MY_URL/"
    ]
},
"browser": {
    "show_home_button": true,
    "check_default_browser": false
},
"bookmark_bar": {
    "show_on_all_tabs": true
},
"distribution": {
    "show_welcome_page": false,
    "skip_first_run_ui": true,
    "import_history": false,
    "import_bookmarks_from_file": "/Library/Google/bookmarks.html",
    "import_bookmarks": false,
    "import_home_page": false,
    "import_search_engine": false
},
"sync_promo": {
    "user_skipped": true
}

}

即使使用这些权限打开chrome后,它仍然会禁用扩展等待进一步的权限,但是我不确定它后面还有什么。

1 个答案:

答案 0 :(得分:0)

结构错误。如果你看一下the docs,它应该如下:

{
  "extensions": {
    "settings": {
      "mihcahmgecmbnbcchbopgniflfhgnkff": {
        "location": 1,
        "manifest": {
          ...
        },
        "granted_permissions": {
          "api": [ "tabs" ],
          "explicit_host": [ "http://*.google.com/*", "https://*.google.com/" ],
          "scriptable_host": [ "http://example.com/" ]
        },
        ...
      },
      ...
    }
  }
}

但是,您已将"granted_permissions"密钥放在中,而不是与"manifest"密钥位于同一级别。