Можно ли разработать приложение для управления закладками Chrome, которое не является расширением Chrome, то есть работает независимо от браузера Chrome?

Я понимаю, что API chrome.bookmarks (задокументированный по адресу http://goo.gl/tIb6V6) предназначен для используется для разработки расширений Chrome (конечно, для использования в браузере Chrome), которые получают доступ к моим закладкам Chrome и манипулируют ими. Я даже использовал этот API для написания собственного такого расширения. Тем не менее, я ищу способ разработать приложение, которое делает то же самое, но работает независимо от браузера Chrome, например. как нативное приложение, написанное на любимом языке (Python, Java и т. д.), которое будет работать на любимой ОС (Mac OS X, Linux и т. д.). С этой целью существует ли API (например, RESTful API, но я не привередлив), который позволяет мне получать доступ к моим закладкам Chrome и управлять ими, к которым я затем получаю доступ из-за пределов браузера Chrome?


person rinaus    schedule 03.11.2014    source источник
comment
Нет. Но вы можете загрузить расширение, использующее chrome.bookmarks API, и либо использовать серверную часть (в вашем родном приложении), либо собственный обмен сообщениями для связи с вашим приложением. Если вам нужен доступ только для чтения, использование sqlite для чтения базы данных закладок также будет работать.   -  person Rob W    schedule 04.11.2014
comment
Спасибо за ваш ответ Роб. Нативный обмен сообщениями был особенно интересен. Я не знал, что он существует. Кстати, я наткнулся на нативное приложение для iOS (goo.gl/bKK64), которое, кажется, выполняет только чтение доступ, который вы описали (список/поиск закладок в этом приложении), и в этом случае через промежуточный файл Google Диска, который содержит периодически обновляемую копию закладок Chrome пользователя. Периодическое обновление происходит через дополнительное расширение Chrome-посредника, которое пользователю предлагается установить в настольной версии Chrome, которую он использует.   -  person rinaus    schedule 07.11.2014
comment
Chrome внутренне хранит закладки в базе данных sqlite. Если вы используете эту базу данных, вы можете только читать, но не писать (или происходит повреждение базы данных). Однако, когда вы используете chrome.bookmarks API через вспомогательное расширение, вы также можете изменить закладки, если хотите. Технически это приложение для iOS также может реализовывать доступ для записи закладок, используя ту же инфраструктуру.   -  person Rob W    schedule 07.11.2014
comment
Я не уверен, что вы подразумеваете под использованием API chrome.bookmarks через вспомогательное расширение. Это что-то вроде того, что вы описали выше, с использованием серверной части или собственного обмена сообщениями? Если нет, я был бы признателен за любые ссылки на материал, который подскажет мне, как реализовать такое вспомогательное понятие. Ради того, чтобы сфокусировать дискуссию, давайте предположим, что мы говорим о реализации такого нативного приложения на iOS, где расширения Chrome, насколько я знаю, недоступны, и, следовательно, наличие нативного приложения там, с которым оно взаимодействует, не было бы в карты.   -  person rinaus    schedule 07.11.2014
comment
Под вспомогательным расширением я подразумеваю, что расширение предлагается только для поддержки другого приложения (приложение для iOS в вашем примере). Расширение собирает данные через API закладок и отправляет их в ваше приложение по некоторому транспортному каналу (собственный обмен сообщениями, серверная часть, копипаста, QR-коды, голуби, ...).   -  person Rob W    schedule 07.11.2014
comment
Мне понравились QR-коды и немного голубей! Спасибо за юмор, он нам всем нужен :-) Итак, в фокусе обсуждения нативного приложения для iOS, поскольку там не существует расширения для Chrome (или я ошибаюсь в этом?), предложение состоит в том, чтобы иметь вспомогательное расширение запустить, войдя в учетную запись Google пользователя, на удаленном хосте, где существует расширение Chrome, и получать запросы/ответы, идущие туда и обратно (через голубей или что-то еще :-) между ним и таким родным приложением iOS (скажем, работающим на пользовательском айфон)? Кстати, Роб, спасибо за поучительное обсуждение здесь. Я многому у него учусь.   -  person rinaus    schedule 07.11.2014
comment
Именно так, как вы заявили. Возможно, есть также Google API для доступа к закладкам после аутентификации (я не знаю, поищите его, если хотите узнать, существует ли он).   -  person Rob W    schedule 07.11.2014


Ответы (1)


Другой вариант — загрузить файл закладок Chrome напрямую из:

~/Library/Application Support/Google/Chrome/Default/Bookmarks

Это обычный файл json, поэтому просто загрузите его, создайте объект и делайте все, что вы можете себе представить.

Нам пока нравится ~

person rankun203    schedule 20.12.2016
comment
Не уверен, почему проголосовали против - это работает на Mac! - person Brian Burns; 03.01.2021