Как я могу получить доступ к контактам gnome или его данным из gjs

Согласно этому ответу (и комментариям) gnome- Контакты — это место, где контакты централизованы для Gnome, и оно хорошо справляется с объединение с помощью телепатии, но единственный способ получить доступ к этой информации, по-видимому, - поисковая система Gnome Shell, которая предоставляет только аватар и имя. Я изо всех сил пытался дублировать части контактов gnome в gjs, но у меня было много проблем с привязками.

Есть ли более простой способ добиться этого, или я могу создать привязку vapi/gir для самих контактов gnome, чтобы я мог использовать ее как библиотеку?

Возможное альтернативное решение:

Использование libfolks в GJS в настоящее время заблокировано ошибкой №694115, но только для этих если вам нужны контакты Google, это возможно в GJS через GData, и вы даже можете использовать Онлайн-аккаунты Gnome в качестве источника аутентификации, если он доступен.


person andy.holmes    schedule 14.06.2017    source источник


Ответы (1)


Используйте libfolks, который gnome-contacts использует внутри для получения своих данных. libfolks можно использовать через gjs, хотя это не было тщательно протестировано, поэтому могут возникнуть проблемы с привязкой.

Сообщайте о любых проблемах с привязкой здесь.

person Philip Withnall    schedule 14.06.2017
comment
Есть ли список известных библиотек, подходящих для GJS? Похоже, мне нужно будет использовать libgee, но GJS-версии документов нет, и попытка собрать их с помощью g-ir-doc-tool не удалась, что заставляет меня задуматься. - person andy.holmes; 14.06.2017
comment
После некоторой игры кажется, что Gee можно импортировать как обычно, но Folks возвращает объекты Gee, в которых отсутствуют все задокументированные методы. - person andy.holmes; 15.06.2017
comment
У меня недостаточно опыта работы с GJS, чтобы ответить на этот вопрос, извините. Если вы сообщите об ошибке людям на bugzilla.gnome.org с минимальным примером того, что не работает, я постараюсь взглянуть. - person Philip Withnall; 16.06.2017
comment
Моя ошибка, я неправильно интерпретировал документы. Ближе всего к gjs docs находится vala docs, и я провожу время, изучая из него libfolks. - person andy.holmes; 18.06.2017
comment
NB, есть документация GJS, но, похоже, нет libfolks: devdocs.baznga.org - person ptomato; 19.06.2017
comment
Да, я видел их, спасибо. Я также пытался скомпилировать документы libfolks с помощью g-ir-doc-tool, но потерпел неудачу. Там так мало примера кода для libfolks или libgee за пределами кода vala, что я не уверен, использую ли я его неправильно или привязки просто не работают, но я, кажется, не могу получить данные из любые объекты Gee (которые в любом случае кажутся мне сложными). - person andy.holmes; 23.06.2017
comment
На самом деле очень мало примеров либфолков за пределами Vala. Пожалуйста, сообщайте об ошибках на bugzilla.gnome.org обо всем, что, по вашему мнению, должно работать, но не работает. - person Philip Withnall; 23.06.2017
comment
В процессе регистрации ошибки я увидел, что Ошибка 694115 все еще открыта. , а также блокирующий его кошмарный баг gintrospection. Поскольку я пишу расширение gnome-shell, распространение обсуждаемой прокладки Vala/C может оказаться невозможным, если кто-то вообще написал такую ​​вещь. Спасибо за ваше время, я рассмотрю другие варианты. - person andy.holmes; 25.06.2017