Emacs를 사용하여 Google 캘린더 및 Google 주소록과 동기화하여 로컬 사본을 보관하여 오프라인으로 액세스 할 수있는 방법이 있습니까?
답변
불행히도, 나는 완전한 대답을 줄 수 없습니다. 내가 가진 것은 방황 할 수있는 길에 대한 조언입니다.
Gilles가이 질문의 SU 버전에서 언급 한 emacs-g-client 가 작동하는 것이 가장 쉬운 방법 입니다. 그래도 작동하지 않으면 다음을 살펴보십시오.
-
최소한 ical을 사용하여 Google 캘린더에 액세스하여 캘린더 기능을 사용할 수 있어야합니다. 이 함수
icalendar-import-file
는 ical 파일을 emacs 다이어리 파일 로 가져올 수 있습니다 ( icalendar-import-file 문서). 따라서 .emacs 파일에서 Google 캘린더 ical 파일을 가져 와서 일기로 가져 오는 약간의 emacs lisp가있을 수 있습니다. org-mode를 사용하게되면 org-mode를 diary-mode와 통합하는 방법에는 여러 가지가 있습니다. -
궁극적 인 목표는 gdata API를 사용하는 것입니다. 이 API 외부에서 Google 주소록에 쉽게 액세스 할 수 있다고 생각하지 않습니다. 이론적으로 일부 emacs lisp 함수 내에서 연락처, 캘린더 및 기타 여러 Google 호스팅 서비스에 대한 전체 액세스를 제공하는 데 사용할 수있는 Google CL 이라는이 API를 사용하여 광범위한 기능을 지원하는 명령 행 유틸리티가 있습니다. 그러나 이것은 .emacs에 던져진 몇 줄보다 훨씬 어려울 것입니다.
답변
Google 캘린더의 경우 편도 동기화 설정이 완료되었습니다. Emacs는 시작할 때 내 캘린더를 가져 와서 emacs 일기로 전송합니다. 그런 다음 아젠다에서 org-mode로 표시되지만 원하는대로 설정할 수 있습니다.
Google 캘린더로 다시 보내려면 필요하지 않은 항목을 아직 설정하지 않았습니다. 그러나 일기 에 항목을 추가하고 googlecl 을 호출 하여 Google 캘린더에 항목을 추가하는 기능을 갖는 것이 매우 쉽다고 생각합니다 .
달력을 가져 오려면 .emacs에 다음이 있습니다 (이것은 내 코드가 아니라 org-mode 메일 링 목록에서 가져온 것이지만 정확히 어디서 찾은지를 기억할 수는 없습니다).
(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을 (당신이 구글 캘린더의 각 달력의 설정 페이지의 맨 아래에 그것을 발견). 원하는만큼 추가 할 수 있습니다.
이제 (getcals)
캘린더를 가져 오려고 할 때 전화 할 수 있습니다. 시작할 때 이것을 .emacs에 넣을 수 있지만 시작이 멈출 수 있습니다.
org-mode가 아젠다에 다이어리 항목을 표시하게하려면 (setq org-agenda-include-diary t)
.emacs를 추가 하십시오. 자세한 내용은 조직 모드 매뉴얼 을 참조하십시오.