Emacs 与 Google 日历和通讯录同步吗?

Emacs 与 Google 日历和通讯录同步吗?

有没有办法使用 Emacs 与 Google 日历和 Google 通讯录同步,最好保留本地副本,以便我可以离线访问它们?

答案1

不幸的是,我无法给出完整的答案。我所拥有的只是关于一些可能的漫步路径的建议。

最简单的路线是如果emacs-g-客户端吉尔斯在这个问题的 SU 版本中提到的有效。如果这不起作用,我会研究以下内容:

  • 至少您应该能够通过使用 ical 访问您的谷歌日历来获得一些日历功能。该函数icalendar-import-file可以将 ical 文件导入到 emacs 日记文件中(icalendar-导入文件文档)。因此,在您的 .emacs 文件中,您可以使用一些 emacs lisp 来获取 google 日历 ical 文件并将其导入您的日记中。如果您最终使用 org-mode,有多种方法可以将 org-mode 与 diary-mode 集成。

  • 我认为最终目标是利用 gdata api。我不认为有一种简单的方法可以在这个 api 之外访问 Google 联系人。有一个命令行实用程序,使用此 api 支持广泛的功能,称为谷歌CL,理论上可以在某些 emacs lisp 函数中使用,以提供对联系人、日历和许多其他 Google 托管服务的完全访问。然而,这可能比只在 .emacs 中写入几行要困难得多。

答案2

对于 Google 日历,我成功地进行了单向同步设置。 Emacs 在启动时获取我的日历并将其传输到 emacs 日记中。然后,这会通过 org-mode 显示在议程中,但您可以按照自己的意愿进行设置。

为了发送回 Google 日历,我还没有设置任何东西,因为我不太需要它。但是,我认为有一个在日记中添加条目并调用的函数会很容易谷歌cl在您的谷歌日历中添加一个条目。

为了获取日历,我的 .emacs 中有以下内容(并不是说这不是我的代码,它来自组织模式邮件列表,但我不记得在哪里找到它了):

(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"为您要获取的日历的网址(您可以在谷歌日历中每个日历的设置页面底部找到它)。您可以根据需要添加任意数量。

现在,您只需(getcals)在想要获取日历时调用即可。您可以将其放入 .emacs 中以在启动时执行此操作,但它可能会阻止您的启动。

要让 org-mode 显示议程中的日记条目,只需添加(setq org-agenda-include-diary t)到您的 .emacs 中。请参阅组织模式手册了解详情。

答案3

为了与 Google 联系人集成,有 Julien Danjou 的脚本,您可以看到它的实际效果这里(github存储库是这里):

Emacs 的 google-contacts 扩展允许直接在 Emacs 内显示您的 Google 联系人。

请注意,它可能仅适用于至少 Emacs 24,因为它使用的是 GNU ELPA 一部分的 oauth2。

答案4

emacs-calfw可以与 iCal ( .ics) 格式的日历同步,例如 Google 日历。

相关内容