Emacs w / Google कैलेंडर और संपर्क सिंक करें?


10

क्या Google कैलेंडर और Google संपर्कों के साथ Emacs का उपयोग करने का एक तरीका है, आदर्श रूप से एक स्थानीय प्रतिलिपि रखते हुए ताकि मैं उन्हें ऑफ़लाइन एक्सेस कर सकूं?


1
आप वर्तमान में संपर्कों को संग्रहीत करने के लिए emacs में क्या उपयोग कर रहे हैं? bbdb? इसके अलावा, आप emacs में अपने कैलेंडर प्रोग्राम के लिए क्या उपयोग करते हैं? मेरा जवाब कहने के लिए अलग होगा org- मोड बनाम डायरी मोड।
स्टीवन डी

वास्तव में मैं अभी शुरुआत कर रहा हूं, और संपर्कों के लिए bbdb का उपयोग करने की योजना बना रहा हूं। मैं कैलेंडर के लिए डायरी मोड का उपयोग करने की योजना बना रहा था, लेकिन अब जब मुझे ऑर्ग-मोड के बारे में पता है और पढ़ा है जो एक अच्छा विकल्प भी हो सकता है। धन्यवाद!!
18

यह एक बढ़िया विकल्प होगा, अगर यह संभव है, तो मैं जानना चाहूंगा। Emacs में एक आउटलुक क्लाइंट का निर्माण निश्चित रूप से अच्छा होगा।

1
सुपर यूजर पर भी पूछा । यह मत करो! (अपवाद: जब प्रश्न का किसी साइट पर कोई अच्छा उत्तर नहीं था, और फिर मूल प्रश्न से जुड़ा हुआ है।)
गिलेस एसओ- बुराई को रोकना '

मुझे कोई पता नहीं था, क्षमा करें! अभी भी एक अच्छा जवाब की तलाश है, हालांकि।
21

जवाबों:


3

दुर्भाग्य से, मैं एक पूर्ण उत्तर देने में असमर्थ हूं। सभी मेरे पास कुछ भटकने वाले संभावित रास्तों के बारे में सलाह है।

सबसे आसान मार्ग होगा यदि इस सवाल के एसयू संस्करण में गिल्स ने जो एमएसीएस-जी-क्लाइंट का उल्लेख किया है वह काम करता है। अगर वह काम नहीं करता है, तो मैं निम्नलिखित पर ध्यान दूंगा:

  • बहुत कम से कम आपको ical का उपयोग करके अपने Google कैलेंडर तक पहुंचकर कुछ कैलेंडर कार्यक्षमता प्राप्त करने में सक्षम होना चाहिए। फ़ंक्शन icalendar-import-fileएक ical फ़ाइल को emacs डायरी फ़ाइल ( icalendar-import-file प्रलेखन) में आयात कर सकता है । इस प्रकार, आपकी .emacs फ़ाइल में आप Google कैलेंडर ical फ़ाइल प्राप्त करने और इसे अपनी डायरी में आयात करने के लिए कुछ emacs लिस्प कर सकते हैं। यदि आप ऑर्ग-मोड का उपयोग करते हैं, तो डायरी-मोड के साथ ऑर्ग-मोड को एकीकृत करने के कई तरीके हैं।

  • मुझे लगता है कि अंतिम लक्ष्य gdata एपीआई का उपयोग करना होगा। मुझे नहीं लगता कि इस एप के बाहर Google संपर्कों तक पहुंचने का एक आसान तरीका है। एक कमांड लाइन उपयोगिता है जो Google सीएल नामक इस एप का उपयोग करते हुए कार्यक्षमता की एक विस्तृत श्रृंखला का समर्थन करती है , जो सैद्धांतिक रूप से आपके संपर्कों, कैलेंडर और कई अन्य Google द्वारा होस्ट की गई सेवाओं तक पूर्ण पहुंच प्रदान करने के लिए कुछ emacs लिस्प फ़ंक्शन के अंदर उपयोग किया जा सकता है। हालाँकि, यह आपके .emacs में डाली गई कुछ पंक्तियों की तुलना में बहुत अधिक कठिन होगा।


3

Google कैलेंडर के लिए, मेरे पास एक तरीका है सिंक सेटअप सफलतापूर्वक। Emacs स्टार्टअप पर मेरे कैलेंडर प्राप्त करता है और इसे emacs डायरी में स्थानांतरित करता है। यह फिर एजेंडा में org- मोड द्वारा प्रदर्शित किया जाता है, लेकिन आप इसे वैसे भी सेट कर सकते हैं, जैसा आप चाहते हैं।

Google कैलेंडर में वापस भेजने के लिए, मुझे अभी तक कुछ भी सेटअप करना होगा क्योंकि मुझे इसकी उतनी आवश्यकता नहीं है। हालाँकि, मुझे लगता है कि यह बहुत आसान होगा कि एक फ़ंक्शन है जो डायरी में एक प्रविष्टि जोड़ता है और अपने Google कैलेंडर में प्रविष्टि जोड़ने के लिए googlecl को कॉल करता है।

कैलेंडर प्राप्त करने के लिए, मेरे पास मेरे .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"उन url से बदलें , जिन्हें आप लाना चाहते हैं (आप इसे Google कैलेंडर के प्रत्येक कैलेंडर के सेटअप पृष्ठ के नीचे पाते हैं)। आप जितने चाहें उतने जोड़ सकते हैं।

अब, आप केवल कॉल कर सकते हैं (getcals)जब आप कैलेंडर प्राप्त करना चाहते हैं। आप इसे अपने .emacs में स्टार्टअप पर करने के लिए रख सकते हैं, लेकिन यह आपके स्टार्टअप को रोक सकता है।

Org- मोड को एजेंडा में डायरी प्रविष्टियों को प्रदर्शित करने के लिए, बस (setq org-agenda-include-diary t)अपने .emacs में जोड़ें । विवरण के लिए ओआरजी-मोड मैनुअल देखें।


3

Google संपर्कों के साथ एकीकरण के लिए जूलियन डेंजौ की स्क्रिप्ट है जिसे आप यहां कार्रवाई में देख सकते हैं (जीथब रिपॉजिटरी यहां है ):

Emacs एक्सटेंशन के लिए Google-संपर्क सीधे आपके Google संपर्कों को Emacs के अंदर प्रदर्शित करने की अनुमति देता है।

ध्यान दें कि यह कम से कम Emacs 24 के साथ काम करने की संभावना है, क्योंकि यह oauth2 का उपयोग कर रहा है जो GNU ELPA का हिस्सा है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.