Emacs ซิงค์กับ Google Calendar และที่อยู่ติดต่อหรือไม่


10

มีวิธีใช้ Emacs ในการซิงค์กับ Google ปฏิทินและที่อยู่ติดต่อของ Google หรือไม่และเก็บสำเนาเฉพาะที่ไว้ในเครื่องเพื่อให้ฉันสามารถเข้าถึงพวกเขาออฟไลน์ได้หรือไม่?


1
ขณะนี้คุณใช้อะไรใน emacs เพื่อจัดเก็บรายชื่อติดต่อ bbdb? นอกจากนี้สิ่งที่คุณใช้สำหรับโปรแกรมปฏิทินของคุณใน emacs? คำตอบของฉันจะแตกต่างกันสำหรับโหมด org-vs vs diary
Steven D

ที่จริงฉันเพิ่งเริ่มและวางแผนที่จะใช้ bbdb สำหรับผู้ติดต่อ ฉันวางแผนที่จะใช้โหมดไดอารี่สำหรับปฏิทิน แต่ตอนนี้ฉันรู้แล้วอ่านเกี่ยวกับโหมดองค์กรที่อาจเป็นตัวเลือกที่ดีเช่นกัน ขอบคุณ !!
hpy

นี่จะเป็นตัวเลือกที่ดีถ้าเป็นไปได้ฉันอยากจะรู้ การสร้างไคลเอนต์ outlook ให้กลายเป็น emacs นั้นยอดเยี่ยมแน่นอน

1
นอกจากนี้ยังถาม Super User อย่าทำอย่างนี้! (ข้อยกเว้น: เมื่อคำถามไม่มีคำตอบที่ดีในไซต์จากนั้นเชื่อมโยงกับคำถามเดิม)
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

ฉันไม่รู้เลยขอโทษ! ยังคงมองหาคำตอบที่ดี
hpy

คำตอบ:


3

ขออภัยฉันไม่สามารถให้คำตอบที่สมบูรณ์ ทั้งหมดที่ฉันมีคือคำแนะนำเกี่ยวกับเส้นทางที่เป็นไปได้ที่จะเดินลงไป

เส้นทางที่ง่ายที่สุดคือถ้าemacs-g-clientที่ Gilles พูดถึงในเวอร์ชั่น SU ของคำถามนี้ใช้งานได้ หากไม่ได้ผลฉันจะตรวจสอบสิ่งต่อไปนี้:

  • อย่างน้อยที่สุดคุณควรจะได้รับฟังก์ชั่นปฏิทินบางอย่างด้วยการเข้าถึง Google ปฏิทินของคุณโดยใช้ ical ฟังก์ชั่นicalendar-import-fileสามารถนำเข้าไฟล์ ical ไปยังไฟล์ emacs ไดอารี่ ( เอกสาร icalendar-import-file ) ดังนั้นในไฟล์. emacs คุณอาจมี emacs กระเพื่อมเล็กน้อยเพื่อรับไฟล์ google calendar ical และนำเข้าสู่ไดอารี่ของคุณ หากคุณจบลงด้วยการใช้โหมดองค์กรมีหลายวิธีในการรวมโหมดองค์กรกับโหมดไดอารี่

  • ฉันคิดว่าเป้าหมายสูงสุดคือการใช้ประโยชน์จาก gdata api ฉันไม่คิดว่ามีวิธีที่ง่ายในการเข้าถึงผู้ติดต่อของ Google นอก API นี้ มียูทิลิตีบรรทัดคำสั่งที่รองรับฟังก์ชั่นที่หลากหลายโดยใช้ API นี้เรียกว่าGoogle CLซึ่งในทางทฤษฎีสามารถใช้ในฟังก์ชั่นเสียงกระเพื่อม emacs บางอย่างเพื่อให้สามารถเข้าถึงผู้ติดต่อปฏิทินและบริการที่โฮสต์โดย Google อื่น ๆ ได้อย่างเต็มที่ อย่างไรก็ตามนี่อาจเป็นเรื่องยากกว่าการขีดเส้นใต้ไม่กี่บรรทัดลงใน. emac ของคุณ


3

สำหรับ Google Calendar ฉันมีการตั้งค่าการซิงค์ทางเดียวให้สำเร็จ Emacs ดึงปฏิทินของฉันเมื่อเริ่มต้นและถ่ายโอนในไดอารี่ emacs จากนั้นจะแสดงโดยโหมดองค์กรในวาระการประชุม แต่คุณสามารถตั้งค่าได้ตามที่คุณต้องการ

สำหรับการส่งกลับไปที่ Google ปฏิทินฉันยังไม่ได้ตั้งค่าอะไรเลยเพราะฉันไม่ต้องการมันมากนัก อย่างไรก็ตามฉันคิดว่ามันเป็นเรื่องง่ายที่จะมีฟังก์ชั่นที่เพิ่มรายการในไดอารี่และเรียกgoogleclเพื่อเพิ่มรายการในปฏิทิน Google ของคุณ

เพื่อดึงปฏิทินฉันมีสิ่งต่อไปนี้ใน. 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)เมื่อคุณต้องการดึงปฏิทิน คุณสามารถใส่สิ่งนี้ลงใน. emac ของคุณเพื่อดำเนินการเมื่อเริ่มต้น แต่อาจทำให้การเริ่มต้นของคุณล่าช้า

หากต้องการให้โหมดองค์กรแสดงรายการไดอารี่ในวาระการประชุมเพียงเพิ่ม(setq org-agenda-include-diary t)ใน. emacs ของคุณ ดูคู่มือโหมด orgสำหรับรายละเอียด


3

สำหรับการรวมกับผู้ติดต่อของ Google มีสคริปต์ของ Julien Danjou ซึ่งคุณสามารถเห็นการทำงานได้ที่นี่ (ที่เก็บ github อยู่ที่นี่ ):

ส่วนติดต่อของ google สำหรับส่วนขยาย Emacs อนุญาตให้แสดงที่อยู่ติดต่อ Google ของคุณได้โดยตรงภายใน Emacs

โปรดทราบว่ามีแนวโน้มที่จะใช้งานได้กับ Emacs อย่างน้อย 24 เท่านั้นเนื่องจากใช้ oauth2 ซึ่งเป็นส่วนหนึ่งของ GNU ELPA


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.