从外部程序操作Google Chrome书签(并使Chrome知道)?

21

有没有记录的方法可以让外部程序操纵Google Chrome的书签?

书签存储在用户数据\默认目录下的“Bookmarks”文件中,看起来像是JSon或类似的东西(现在不重要)。

但是,我是否有办法通知Chrome文件已更改?

注意:这是针对Windows的,并且我正在寻找一种以编程方式使Chrome意识到我的更改的方法。

我尝试了以下操作:

  1. 手动编辑文件
  2. 重新启动Chrome

更改已经存在,但在重新启动Chrome之前,Chrome并不知道我的更改,而且我强烈认为如果我在重新启动之前在Chrome中编辑书签,那么外部更改将会丢失。

那么,我有办法做到这一点吗?还是我必须告诉用户不幸的是,我必须关闭他的Chrome安装,编辑书签文件,然后重新启动Chrome?

代码最终将用C#编写,但除非您有/知道执行此操作的代码,否则处理此问题的方法可能应该与语言/运行时无关。

请注意,我当前想要自动化的事项列表包括:

  1. 为某些特定的书签创建文件夹
  2. 删除该文件夹中现有的书签
  3. 将新书签添加到该文件夹中

这个程序的目的是自动设置我们制作的Web应用程序的本地副本,支持/测试人员只需运行程序,选择要设置的程序版本和连接到哪个数据库,然后程序就会自动完成所有操作。我希望这个程序还可以方便地访问这些应用程序。


平台/操作系统重要吗? - TNC
好的,没错,这是在Windows上,让我编辑一下问题。 - Lasse V. Karlsen
1
@Boris 因为重要的部分是我内部开发的程序创建了一些网络应用程序的本地副本,用于测试目的,而我想自动为测试人员创建书签。我最终只支持了 IE,因为它将其书签存储在磁盘上作为文件。 - Lasse V. Karlsen
1
针对企业级部署,目前正在进行控制书签的政策工作,这肯定比操作Chrome的磁盘表示更可靠。 http://crbug.com/49598 包含详细信息;如果您希望获取更新,请标星。 - Mike West
1个回答

15

%LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks文件受到校验和保护,以检查写入错误。Google Chrome会将此文件备份为Bookmarks.bak。因此,如果Bookmarks文件损坏,Google Chrome将使用备份文件恢复书签。

校验和操作有点棘手。你可以查看它的源代码(因为Chromium项目是开源的)。似乎Chrome对每个书签的进行MD5计算:

  • id
  • title
  • folder
  • url

因此,你可以查看这个源代码以进一步了解。

但我不建议这样做。Google可能会在没有任何通知的情况下更改此格式,导致你的软件遇到不兼容性问题。最好编写一个Google Chrome扩展程序并与你的桌面软件进行互操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接