Emacs'ı Google Takvim ve Google Kişiler ile senkronize etmek için kullanmanın ve onları çevrimdışı olarak erişebilmem için yerel bir kopyasını saklamanın bir yolu var mı?
Emacs'ı Google Takvim ve Google Kişiler ile senkronize etmek için kullanmanın ve onları çevrimdışı olarak erişebilmem için yerel bir kopyasını saklamanın bir yolu var mı?
Yanıtlar:
Ne yazık ki, tam bir cevap veremiyorum. Tüm sahip olduğum, dolaşmak için olası bazı yollar hakkında tavsiye.
En kolay yol , Gilles'in bu sorunun SU sürümünde bahsettiği emacs-g-istemcisinin çalışmasıdır. Bu işe yaramazsa, aşağıdakilere bakarım:
En azından google takviminize ical kullanarak erişerek bazı takvim işlevlerini alabilmelisiniz. Bu işlev icalendar-import-file
, ical dosyasını bir emacs günlük dosyasına alabilir ( icalendar-import-file document). Böylece, .emacs dosyanızda google takvim ical dosyasını almak ve günlüğünüze almak için emacs lisp biraz olabilir. Eğer org-modunu kullanırsanız, org-modunu günlük-mod ile entegre etmenin birkaç yolu vardır.
Nihai amacın gdata api'den faydalanmak olacağını düşünüyorum. Bu API dışında Google kişilerine erişmek için kolay bir yol olduğunu düşünmüyorum. Google CL adı verilen bu api'yi kullanarak , kişilerinize, takviminize ve diğer birçok Google tarafından barındırılan hizmetlere tam erişim sağlamak için bazı emacs lisp işlevlerinde teorik olarak kullanılabilen çok çeşitli işlevleri destekleyen bir komut satırı yardımcı programı vardır . Ancak bu, .emac'lerinize atılan birkaç satırdan çok daha zor olacaktır.
Google Takvim için, tek yönlü senkronizasyon ayarım başarıyla gerçekleştirildi. Emacs takvimlerimi başlangıçta alır ve emacs günlüğüne aktarır. Bu daha sonra gündemde kuruluş modu tarafından görüntülenir, ancak istediğiniz şekilde ayarlayabilirsiniz.
Google Takvim’e geri göndermek için henüz çok fazla ihtiyacım olmadığından herhangi bir şey ayarladım. Ancak, günlükte bir giriş ekleyen ve google takviminize bir giriş eklemek için googlecl'i çağıran bir işleve sahip olmanın oldukça kolay olacağını düşünüyorum .
Takvimleri almak için .emacs dosyamda aşağıdakiler var (bu benim kodum değil, kuruluş modu posta listesinden geliyor, ancak tam olarak nerede bulduğumu hatırlayamıyorum):
(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"
Getirmek istediğiniz takvimlerin URL'leriyle değiştirin (Google Takvim'deki her takvimin kurulum sayfasının altında bulunur). İstediğiniz kadar ekleyebilirsiniz.
Artık (getcals)
takvimleri almak istediğinizde arayabilirsiniz . Bunu başlangıçta yapmak için .emac'lerinize koyabilirsiniz, ancak başlangıç işleminizi durdurabilir.
Kuruluş modunun ajandadaki günlük girişlerini görüntülemesi (setq org-agenda-include-diary t)
için .emac'lerinizi eklemeniz yeterlidir. Ayrıntılar için kuruluş modu kılavuzuna bakın.
Google kişileriyle entegrasyon için burada çalışırken görebileceğiniz Julien Danjou'nun senaryosu var (github deposu burada ):
Google Emacs için Kişiler uzantısı, Google Kişilerinizi doğrudan Emacs'ın içinde görüntülemenize olanak tanır.
GNU ELPA'nın bir parçası olan oauth2 kullandığından, yalnızca en az Emacs 24 ile çalışacağını unutmayın.
emacs-calfw , .ics
Google Takvim gibi iCal ( ) biçimindeki takvimlerle senkronize edilebilir .