เปิดไฟล์ ICS โดยอัตโนมัติใน Google Calendar


12

เว็บไซต์จำนวนมากมีตัวเลือกในการส่งออกกิจกรรมเป็นไฟล์ ICS ที่สามารถนำเข้าสู่เดสก์ท็อปหรือปฏิทินบนเว็บ (ตัวอย่างเช่นหากคุณได้รับเชิญให้เข้าร่วมกิจกรรม Facebook จะมีปุ่มส่งออกที่ให้ ICS แก่คุณ ไฟล์).

ตามค่าเริ่มต้นใน Firefox 3.5 บน Vista ฉันเสนอเพียงสามตัวเลือกที่นี่ "เปิดด้วย Windows ปฏิทิน", "เปิดด้วยอื่น ๆ " หรือ "บันทึกไฟล์" ดังนั้นสิ่งที่ฉันจะทำคือบันทึกไฟล์ลงบนพีซีของฉันแล้วบันทึก ลงใน Google ปฏิทินและนำเข้าไฟล์ ICS นั้น

สิ่งที่ฉันต้องการคือมีตัวเลือกประเภท "เปิดด้วย Google ปฏิทิน" หรือ "นำเข้าสู่ Google ปฏิทิน" เมื่อฉันคลิกลิงก์ส่งออก

ฉันรู้ว่าคุณสามารถกำหนดค่า Firefox ให้ส่งmailto:ลิงก์ไปยัง GMailและฉันได้ติดตั้งส่วนขยายของผู้ดำเนินการที่จะตรวจจับรายการไมโครฟอร์แมต hCalendar ที่ฝังอยู่ในข้อความและเสนอเพื่อนำเข้าสู่ Google ปฏิทิน แต่ฉันไม่สามารถหาวิธี กำหนดค่าสิ่งเหล่านี้เพื่อทำสิ่งที่ฉันต้องการ

โดยเฉพาะอย่างยิ่งฉันจะทำสิ่งนี้โดยไม่ต้องติดตั้งซอฟต์แวร์เพิ่มเติมใด ๆ และในลักษณะที่จะทำงานกับบัญชี Google Apps (แต่ถ้ามีคนสามารถชี้ไปที่โซลูชันของ Google ปฏิทินปกติซึ่งจะเป็นการเริ่มต้นที่ดี)


ฉันก็สนใจสิ่งนี้เช่นกัน คุณค้นหา userscripts.org ไหม? lifehacker.com?
Capi Etheriel

คำตอบ:


3

ฉันพบทางออกสุดท้ายแล้ว! ฉันใช้มันจากรหัสเพื่อเพิ่ม Gmail เป็น mailto: handler และดัดแปลงโดยใช้ข้อมูลที่นำมาจากไฟล์การตั้งค่าของ Google Chrome:

javascript:window.navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");

หากต้องการใช้งานเพียงไปที่ Google ปฏิทินเปิดเว็บคอนโซลของ Firefox (Ctrl + Shift + K) แล้ววางลงในกล่องรหัส


ยอดเยี่ยมสิ่งที่ฉันหวังไว้ดูเหมือนจะทำทุกสิ่งที่ควรทำและเรียบง่ายมาก!
GAThrawn

4
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้คำสั่ง Permission denied to add https://www.google.com/calendar/render?cid=%s as a content or protocol handler
tatsuhirosatou

ไม่ทำงานใน FF 30 บน Ubuntu เนื่องจากเป็นไฟล์ VCS / ICS
Gaurav Kumar

@tatsuhirosatou เรียกใช้จาก google.com
บุคคลที่ดี

2
สิ่งนี้ยังใช้งานได้และยังคงอยู่ในโปรไฟล์ผู้ใช้ของคุณ แต่มีการเปลี่ยนแปลง URL javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/render?cid=%s","Google Calendar");ตอนนี้คุณต้องป้อน เช่นเดียวกับบุคคลที่ดีที่กล่าวข้างต้นสิ่งนี้จะใช้ได้เฉพาะเมื่อเรียกใช้จากแท็บที่โหลด calendar.google.com เท่านั้น!
Artfunkel

1

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

ฉันรู้ว่าคุณชอบโซลูชัน "ไม่มีซอฟต์แวร์" แต่นี่อาจเป็นประโยชน์กับคุณ

มันมีอยู่ที่: http://gcalicsimporter.codeplex.com/


1
ขอบคุณ! แต่ฉันไม่ได้ใช้. NET และฉันไม่รู้จัก. NET เพียงพอที่จะเข้าใจวิธีการพื้นฐานที่นี่อย่างรวดเร็ว คุณเปิด URL ของ Google ปฏิทินโดยใช้ API บางประเภทหรือไม่ คุณสามารถชี้ไปที่ Google ปฏิทิน API ที่เกี่ยวข้องที่คุณใช้อยู่หรืออะไรก็ตามเพื่อให้เราสามารถนำไปใช้กับแพลตฟอร์มอื่นได้หรือไม่?
nealmcb

Chrome จะไม่อนุญาตให้ดาวน์โหลดไฟล์เนื่องจากเป็น "อันตราย" เป็นเวลาสิบปีแล้วที่คำถามนี้เกิดขึ้นที่นั่นและมันก็โง่มาก ๆ ไม่มีวิธีที่ง่ายที่จะทำการดับเบิลคลิกที่ไฟล์ ics โดยอัตโนมัติเพิ่มไปยัง google calendar
James Bowery

1

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

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

อัปเดต: ฉันจะใช้โซลูชัน. NET ของ Alejandro ถ้าคุณมีตัวเลือกนั้น


2
วิธีแก้ปัญหาของคุณฟังดูซับซ้อนกว่าไฟล์บันทึก ICS ปกติไปยังดิสก์จากนั้นคลิกปุ่มนำเข้าปฏิทินใน Google ปฏิทิน! มันแปลกคุณคิดว่านี่เป็นสิ่งที่ผู้คนจำนวนมากจะรำคาญ! สงสัยไหมว่าสคริปต์ Greasemonky สามารถทำได้หรือไม่
GAThrawn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.