Emacs синхронізується з Календарем та контактами Google?


10

Чи є спосіб використовувати Emacs для синхронізації з Календарем Google та Контактами Google, в ідеалі зберігаючи локальну копію, щоб я мав доступ до них в автономному режимі?


1
Що ви зараз використовуєте в emacs для зберігання контактів? bbdb? Крім того, що ви використовуєте для своєї програми календаря в emacs? Моя відповідь відрізнятиметься від режиму скажіть org-mode та щоденника.
Стівен Д

Насправді я тільки починаю і планую використовувати bbdb для контактів. Я планував використовувати режим щоденника для календаря, але тепер, коли я знаю і читав про org-режим, це теж може бути хорошим варіантом. Дякую!!
hpy

Це було б чудовим варіантом, якщо це навіть можливо, я хотів би знати. Створення клієнтської перспективи в emacs, безумовно, було б здорово.

1
Також запитують у Super User . Не робіть цього! (Виняток: коли на питання не було жодної хорошої відповіді на сайті, а потім посилання на оригінальне запитання.)
Жил "ТАК - перестань бути злим"

Я не мав уявлення, вибачте! Але все ж шукаю гарної відповіді.
hpy

Відповіді:


3

На жаль, я не можу дати повну відповідь. Все, що я маю, - це поради щодо можливих шляхів прогулянки.

Найпростішим маршрутом було б, якби працював emacs-g-клієнт, про який Гілз згадував у SU-версії цього питання. Якщо це не працює, я б розглядав наступне:

  • По крайней мере, ви повинні мати можливість отримати деякі функції календаря, перейшовши до свого google-календаря за допомогою ical. Функція icalendar-import-fileможе імпортувати ical-файл у файл щоденника emacs (документація на icalendar-import-файл ). Таким чином, у вашому .emacs-файлі ви можете мати трохи emacs lisp, щоб отримати логічний файл календаря google та імпортувати його у свій щоденник. Якщо ви все-таки використовуєте org-mode, існує декілька способів інтегрувати org-mode з режимом щоденника.

  • Я думаю, що кінцевою метою було б використання apta gdata. Я не думаю, що існує легкий спосіб отримати доступ до контактів Google поза цією програмою. Існує утиліта командного рядка, яка підтримує широкий спектр функціональних можливостей за допомогою цього програмного забезпечення під назвою Google CL , яке теоретично може бути використане в деяких функціях lisp emacs для забезпечення повного доступу до ваших контактів, календаря та багатьох інших служб, розміщених Google. Це, однак, може бути набагато складніше, ніж лише кілька рядків, кинутих у ваші .emacs.


3

У Календарі Google я успішно налаштував один спосіб синхронізації. Emacs отримує мої календарі при запуску та передає їх у щоденник emacs. Потім це відображається в режимі org в порядку денному, але ви можете встановити його будь-коли.

Для повернення в Google Календар я ще нічого не налаштував, оскільки мені це не так вже й потрібно. Однак, я думаю, було б досить легко мати функцію, яка додає запис у щоденник і закликає googlecl додати запис у вашому календарі google.

Для отримання календарів у моїх .emacs є таке (не те, що це не мій код, він надходить із списку розсилки в режимі org, але я не можу пригадати, де саме його знайшли):

(setq mark-diary-entries-in-calendar t)
(defun getcal (url)
  "Download ics file and add to diary"
  (let ((tmpfile (url-file-local-copy url)))
    (icalendar-import-file tmpfile "~/diary" t)
    (kill-buffer (car (last (split-string tmpfile "/"))))
    )
  )
(setq google-calendars '(
                         "http://www.google.com/calendar/ical/DFSDFSDFSDFASD/basic.ics"
                         "http://www.google.com/calendar/ical/SDFSADFSADFASD/basic.ics"
                         ))
(defun getcals ()
  (interactive)
  (find-file "~/diary")
  (flush-lines "^[& ]")
  (dolist (url google-calendars) (getcal url))
  (kill-buffer "diary"))

Замініть "http://www.google.com/calendar/ical/DFSDFSDFSDFASD/basic.ics"URL-адресами на календарі, які ви хочете отримати (ви знайдете їх у нижній частині сторінки налаштування кожного календаря в google-календарі). Ви можете додати скільки завгодно.

Тепер ви можете просто зателефонувати, (getcals)коли хочете отримати календарі. Ви можете помістити це у свій .emacs, щоб зробити це під час запуску, але це може зупинити ваш запуск.

Щоб в режимі org відображалися записи щоденника в порядку денному, просто додайте (setq org-agenda-include-diary t)свої .emacs. Детальні відомості див. У посібнику з режиму org .


3

Для інтеграції з контактами Google є сценарій Жюльєна Данджоу, який ви можете побачити тут ( тут знаходиться сховище github ):

Розширення google-контакти для Emacs дозволяє відображати ваші контакти Google безпосередньо всередині Emacs.

Зауважте, що він може працювати лише принаймні з Emacs 24, оскільки він використовує oauth2, який є частиною GNU ELPA.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.