Chrome Apps/Extensions 没有权限如何查看 Search/Browsing 历史记录?

How Do Chrome Apps/Extensions View Search/Browsing History if there is no permission for it?

有几个 apps/extensions 与 search/browsing 历史一起工作,这里只有两个:

1) https://chrome.google.com/webstore/detail/better-history/obciceimmggglbmelaidpjlmodcebijb?hl=en

2) https://chrome.google.com/webstore/detail/history-timeline/gjhpcfomcckgcaniehfgakaddjgncpeb?hl=en

但是,除非我遗漏了什么,否则应用程序和扩展程序都无权检索完整的搜索或浏览历史记录,只能删除它、查询特定网站或将 url 添加到历史记录中app/extension 已安装。

如果您想要链接到应用程序和扩展程序的权限页面,请参阅我的 post 紧接在此之前。

我如何才能像上面两个示例那样使用应用程序或扩展程序访问所有 search/browsing 历史记录?

示例一 使用显式 "history" 权限,可用于扩展。

这会生成信息性警告 "Read and change your browser history on all signed-in devices"

它可以通过 corresponding API:

检索实际的历史信息
chrome.history.search({text: ""}, function(visits) {
  // The last 100 visits will be here. Filter by date to get more.
});

text
A free-text query to the history service. Leave empty to retrieve all pages.

示例二 不显示来自实际 Chrome 历史的数据。相反,它具有以下权限权限:

  • "tabs" 权限,允许它通过 onUpdated 捕获所有 URL 更新和选项卡的类似事件。

  • 注入所有页面的内容脚本,允许访问页面内容。

  • 以防万一,拥有对任何页面执行任何操作的完整 "<all_urls>" 访问权限。

所有这些都会导致适当可怕的 "Read and change all your data on the webpages you visit" 警告。

但是,如果你只是安装它,它会显示一个空白的历史记录。那是因为它不能未经许可访问历史存储,而是建立自己的历史数据库