Sincronizzazione di Emacs con Google Calendar e i contatti?


10

Esiste un modo per utilizzare Emacs per la sincronizzazione con Google Calendar e i Contatti di Google, mantenendo idealmente una copia locale in modo che io possa accedervi offline?


1
Cosa stai attualmente usando in emacs per archiviare i contatti? bbdb? Inoltre, cosa usi per il tuo programma di calendario in emacs? La mia risposta sarà diversa per dire modalità org vs modalità diario.
Steven D,

In realtà sto appena iniziando e sto programmando di usare bbdb per i contatti. Avevo intenzione di utilizzare la modalità diario per il calendario, ma ora che conosco e leggo la modalità org potrebbe essere una buona opzione. Grazie!!
hpy,

Sarebbe un'ottima opzione, se è possibile, vorrei saperlo. Costruire un client outlook in emacs sarebbe sicuramente interessante.

1
Anche chiesto a Super User . Non farlo! (Eccezione: quando la questione non ha avuto alcuna buona risposta in un sito, e quindi collegare alla domanda iniziale.)
Gilles 'SO-tappa è male'

Non avevo idea, scusa! Comunque sto ancora cercando una buona risposta.
hpy,

Risposte:


3

Sfortunatamente, non sono in grado di dare una risposta completa. Tutto quello che ho è un consiglio su alcuni possibili percorsi da percorrere.

La via più semplice sarebbe se il client emacs-g menzionato da Gilles nella versione SU di questa domanda funzionasse. Se non funziona, esaminerei quanto segue:

  • Almeno dovresti essere in grado di ottenere alcune funzionalità del calendario accedendo al tuo calendario di Google usando ical. La funzione icalendar-import-filepuò importare un file ical in un file di diario emacs (documentazione icalendar-import-file ). Quindi, nel tuo file .emacs potresti avere un po 'di emacs lisp per ottenere il file ical del calendario di Google e importarlo nel tuo diario. Se finisci per usare la modalità org ci sono molti modi per integrare la modalità org con la modalità diario.

  • Penso che l'obiettivo finale sarebbe quello di fare uso di gdata api. Non penso che ci sia un modo semplice per accedere ai contatti di Google al di fuori di questa API. Esiste un'utilità della riga di comando che supporta un'ampia gamma di funzionalità utilizzando questa API chiamata Google CL , che potrebbe teoricamente essere utilizzata all'interno di alcune funzioni emacs lisp per fornire pieno accesso ai tuoi contatti, calendario e molti altri servizi ospitati da Google. Questo, tuttavia, sarebbe probabilmente molto più difficile di poche righe gettate nei tuoi .emacs.


3

Per Google Calendar, ho configurato correttamente la sincronizzazione in un modo. Emacs recupera i miei calendari all'avvio e li trasferisce nel diario di emacs. Questo viene quindi visualizzato in modalità organizzazione nell'agenda, ma puoi configurarlo come preferisci.

Per rispedirmi a Google Calendar, non ho ancora impostato nulla in quanto non ne ho più bisogno. Tuttavia, penso che sarebbe abbastanza facile avere una funzione che aggiunge una voce nel diario e chiama googlecl per aggiungere una voce nel tuo calendario di Google.

Per recuperare i calendari, ho il seguente nel mio .emacs (non che questo non sia il mio codice, viene dalla mailing list in modalità org, ma non ricordo dove l'ho trovato esattamente):

(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"))

Sostituisci "http://www.google.com/calendar/ical/DFSDFSDFSDFASD/basic.ics"con gli URL ai calendari che desideri recuperare (lo trovi nella parte inferiore della pagina di configurazione di ciascun calendario nel calendario di Google). Puoi aggiungerne quanti ne desideri.

Ora puoi semplicemente chiamare (getcals)quando vuoi recuperare i calendari. Puoi metterlo nel tuo .emacs per farlo all'avvio, ma potrebbe arrestare l'avvio.

Per fare in modo che org-mode visualizzi le voci del diario nell'agenda, basta aggiungere il (setq org-agenda-include-diary t)tuo .emacs. Consulta il manuale della modalità org per i dettagli.


3

Per l'integrazione con i contatti di Google c'è lo script di Julien Danjou che puoi vedere in azione qui (il repository github è qui ):

L'estensione google-contatti per l'estensione Emacs consente di visualizzare i tuoi contatti Google direttamente all'interno di Emacs.

Si noti che è probabile che funzioni solo con almeno Emacs 24, poiché utilizza oauth2 che fa parte di GNU ELPA.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.