Sincronização do Emacs com o Google Agenda e Contatos?

10

Existe uma maneira de usar o Emacs para sincronizar com o Google Calendar e o Google Contacts, de preferência mantendo uma cópia local para que eu possa acessá-los off-line?

    
por hpy 10.09.2010 / 16:37

4 respostas

3

Infelizmente, não posso dar uma resposta completa. Tudo o que tenho é um conselho sobre alguns caminhos possíveis para se desviar.

O caminho mais fácil seria o emacs-g-client mencionado por Gilles no a versão SU desta questão funciona. Se isso não funcionar, eu olharia para o seguinte:

  • No mínimo, você deve conseguir algumas funcionalidades de calendário acessando seu calendário do Google usando o ical. A função icalendar-import-file pode importar um arquivo ical para um arquivo diário do emacs ( icalendar- documentação do arquivo de importação ). Assim, no seu arquivo .emacs, você pode ter um pouco de emacs lisp para obter o arquivo ical do calendário do Google e importá-lo para o seu diário. Se você acabar usando o modo de organização, há várias maneiras de integrar o modo de organização com o modo diário.

  • Acho que o objetivo final seria usar o gdata api. Não acho que haja uma maneira fácil de acessar os contatos do Google fora dessa API. Existe um utilitário de linha de comando que suporta uma ampla gama de funcionalidades usando esta API chamada Google CL , que teoricamente poderia ser usado em algumas funções do emacs lisp para fornecer acesso total aos seus contatos, calendário e muitos outros serviços hospedados pelo Google. Isso, no entanto, provavelmente seria muito mais difícil do que apenas algumas linhas lançadas em seus .emacs.

por 10.09.2010 / 23:31
3

Para o Google Agenda, eu tenho uma configuração de sincronização unidirecional com sucesso. O Emacs busca meus calendários na inicialização e os transfere para o diário do emacs. Isso é exibido pelo modo de organização na agenda, mas você pode configurá-lo da maneira que quiser.

Para enviar de volta ao Google Agenda, eu ainda configuro qualquer coisa, pois não preciso muito dela. No entanto, acho que seria muito fácil ter uma função que adiciona uma entrada no diário e chama googlecl para adicionar uma entrada no seu calendário do Google.

Para buscar os calendários, tenho o seguinte em meus .emacs (não que esse não seja meu código, ele vem da lista de distribuição do modo de organização, mas não me lembro onde o encontrei exatamente):

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

Substitua "http://www.google.com/calendar/ical/DFSDFSDFSDFASD/basic.ics" pelos URLs para os calendários que você deseja buscar (você o encontra na parte inferior da página de configuração de cada calendário no Google Agenda). Você pode adicionar quantas quiser.

Agora, você pode apenas chamar (getcals) quando quiser buscar os calendários. Você pode colocar isso em seus .emacs para fazê-lo na inicialização, mas pode parar sua inicialização.

Para que o modo organizacional exiba as entradas do diário na agenda, basta adicionar (setq org-agenda-include-diary t) em seus .emacs. Consulte o manual do modo de organização para obter detalhes.

    
por 16.02.2011 / 08:41
3

Para integração com os contatos do Google, há o script de Julien Danjou, que você pode ver em ação aqui (o repositório do github é aqui ):

The google-contacts for Emacs extension allows to display your Google Contacts directly inside Emacs.

Note that it is likely to only work with at least Emacs 24, since it's using oauth2 which is part of GNU ELPA.

    
por 21.09.2012 / 20:00
2

o emacs-calfw pode sincronizar com calendários no formato iCal ( .ics ), como o Calendário Google.

    
por 13.06.2013 / 11:17