Emacs는 Google 캘린더 및 주소록과 동기화됩니까? 주소록과 동기화하여 로컬 사본을 보관하여 오프라인으로

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를 추가 하십시오. 자세한 내용은 조직 모드 매뉴얼 을 참조하십시오.


답변

Google 연락처와 통합하기 위해 여기 에서 실제로 볼 수있는 Julien Danjou의 스크립트가 있습니다 (github repository is here ).

Emacs 확장 프로그램 용 Google 연락처를 사용하면 Emacs 내부에 Google 연락처를 직접 표시 할 수 있습니다.

GNU ELPA의 일부인 oauth2를 사용하기 때문에 최소한 Emacs 24에서만 작동 할 수 있습니다.


답변

emacs-calfw.icsGoogle 캘린더와 같은 iCal ( ) 형식의 캘린더와 동기화 할 수 있습니다 .