Gibt es eine Möglichkeit, Emacs für die Synchronisierung mit Google Kalender und Google Kontakte zu verwenden und im Idealfall eine lokale Kopie zu behalten, damit ich offline darauf zugreifen kann?
Gibt es eine Möglichkeit, Emacs für die Synchronisierung mit Google Kalender und Google Kontakte zu verwenden und im Idealfall eine lokale Kopie zu behalten, damit ich offline darauf zugreifen kann?
Antworten:
Leider kann ich keine vollständige Antwort geben. Ich habe nur Ratschläge zu möglichen Wegen, um hinunterzuwandern.
Der einfachste Weg wäre, wenn der Emacs-G-Client , den Gilles in der SU-Version dieser Frage erwähnt hat, funktioniert. Wenn das nicht funktioniert, würde ich Folgendes untersuchen:
Zumindest sollten Sie in der Lage sein, einige Kalenderfunktionen zu erhalten, indem Sie mit ical auf Ihren Google Kalender zugreifen. Die Funktion icalendar-import-file
kann eine ical-Datei in eine emacs-Tagebuchdatei importieren ( icalendar-import-file- Dokumentation). Daher könnten Sie in Ihrer .emacs-Datei ein bisschen emacs lisp haben, um die Google-Kalenderdatei abzurufen und in Ihr Tagebuch zu importieren. Wenn Sie den Organisationsmodus verwenden, gibt es verschiedene Möglichkeiten, den Organisationsmodus in den Tagebuchmodus zu integrieren.
Ich denke, dass das ultimative Ziel darin besteht, die gdata-API zu verwenden. Ich glaube nicht, dass es einen einfachen Weg gibt, außerhalb dieser API auf Google-Kontakte zuzugreifen. Es gibt ein Befehlszeilenprogramm, das eine breite Palette von Funktionen unter Verwendung dieser API namens Google CL unterstützt. Diese können theoretisch in einigen Emacs-Lisp-Funktionen verwendet werden, um vollen Zugriff auf Ihre Kontakte, Ihren Kalender und viele andere von Google gehostete Dienste zu ermöglichen. Dies wäre jedoch wahrscheinlich viel schwieriger als nur ein paar Zeilen, die in Ihre .emacs geworfen werden.
Für Google Kalender habe ich eine erfolgreiche Einweg-Synchronisierung eingerichtet. Emacs holt meine Kalender beim Start und überträgt sie in das Emacs-Tagebuch. Dies wird dann im Organisationsmodus in der Agenda angezeigt, aber Sie können es beliebig einrichten.
Für das Zurücksenden an Google Kalender habe ich noch nichts eingerichtet, da ich es nicht so sehr brauche. Ich denke jedoch, dass es ziemlich einfach wäre, eine Funktion zu haben, die einen Eintrag im Tagebuch hinzufügt und googlecl aufruft , um einen Eintrag in Ihren Google-Kalender hinzuzufügen.
Um die Kalender abzurufen, habe ich Folgendes in meinen .emacs (nicht, dass dies nicht mein Code ist, er stammt aus der Mailingliste im Organisationsmodus, aber ich kann mich nicht erinnern, wo ich ihn genau gefunden habe):
(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"))
Ersetzen "http://www.google.com/calendar/ical/DFSDFSDFSDFASD/basic.ics"
Sie die Kalender durch die URLs, die Sie abrufen möchten (Sie finden sie unten auf der Einrichtungsseite jedes Kalenders in Google Kalender). Sie können beliebig viele hinzufügen.
Jetzt können Sie einfach anrufen, (getcals)
wenn Sie die Kalender abrufen möchten. Sie können dies in Ihre .emacs einfügen, um dies beim Start zu tun, aber es kann Ihren Start blockieren.
Um im Org-Modus die Tagebucheinträge in der Agenda anzuzeigen, fügen (setq org-agenda-include-diary t)
Sie einfach Ihre .emacs hinzu. Weitere Informationen finden Sie im Handbuch zum Organisationsmodus.
Für die Integration mit Google-Kontakten gibt es das Skript von Julien Danjou, das Sie hier in Aktion sehen können (das Github-Repository finden Sie hier ):
Mit der Erweiterung "Google-Kontakte für Emacs" können Sie Ihre Google-Kontakte direkt in Emacs anzeigen.
Beachten Sie, dass es wahrscheinlich nur mit mindestens Emacs 24 funktioniert, da oauth2 verwendet wird, das Teil von GNU ELPA ist.
emacs-calfw kann mit Kalendern im iCal ( .ics
) -Format wie Google Kalender synchronisieren .