Kalender Google sebagai pengendali default protokol webcal untuk file iCal / ICS

20

Saya ingin agar Kalender Google membuka URI dengan skema Webcal (wikipedia) (memberikan file ICS), mirip dengan bagaimana Gmail dapat diatur sebagai penangan default untuk mailto:tautan.

Lebih khusus lagi, saya ingin agar Kalender Google mengimpornya ke kalender utama saya. (Anda dapat mengimpor file ICS secara manual di Kalender Google dengan mengeklik panah kecil di sebelah Kalender lainnya, memilih Impor kalender dari daftar turun bawah, menavigasi ke file .ICS, dan memilih Impor.)

Saya tidak tahu apakah ini mungkin, tetapi saya berharap seseorang akan memiliki ide bagus.

Rasmus
sumber

Jawaban:

14

Chromium

Peramban kromium menawarkan opsi ini ketika Anda pertama kali masuk ke Kalender Google:

Google Kalender di browser Chromium menawarkan untuk menangani protokol webkal

Jika Anda tidak sengaja menjawab Nopertanyaan ini, Anda dapat menekan Wrenchtombol bilah alat dan pergi ke Settings. Klik Show advanced settings, temukan Content settings...(tepat setelah tajuk Privasi) dan temukan Manage handlerstombolnya. Klik di Xsebelah protokol yang diabaikan yang ingin Anda hapus. Atau, Anda dapat mengetik di protocol handlerskotak pencarian di pengaturan Chromium. Lihat tangkapan layar di bawah ini.

Batalkan abaikan penangan protokol di browser Chromium

Firefox

Saya menemukan posting ini di stackexchange yang menjelaskan cara mencapai hal yang sama di Firefox, tetapi ini tidak berfungsi untuk saya di firefox 12 dan 15: ini berfungsi bagi saya jika saya menonaktifkan opsi Jangan simpan riwayat (mode penelusuran pribadi):

Buka situs Kalender Google dan tekan Ctrl+Shift+K.

Rekatkan ini setelah tanda>:

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

Tekan tombol enter dan klik Add applicationtombol yang seharusnya muncul di bawah bilah alat.

Konsol Firefox

Firefox menerima protokol hanlder

Anda mungkin perlu mengaktifkan gecko.handlerService.allowRegisterFromDifferentHostpilihan dalam about:configuntuk truesebelum mencoba ini (jika google mengarahkan Anda ke domain google lokal). Ingatlah untuk mengembalikannya ke false setelah memanggil fungsi registerProtocolHandler karena situs jahat dapat mengeksploitasi ini. Lihat detailnya di sini .

jeremija
sumber
Secara pribadi, saya mencari opsi untuk Chrome / Chromium. Jika salah satu tidak bereaksi dengan benar pada login pertama, apakah ada opsi terbuka?
Rasmus
Ya, Anda dapat menghapus penangan protokol yang diabaikan. Lihat jawaban saya yang diedit!
jeremija
1
Saya menemukan bahwa saya perlu memasukkan javascript:navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");bilah lokasi di Google Chrome untuk membuatnya berfungsi.
Mikko Rantalainen
Saya mencoba solusi Firefox tetapi ketika mengklik file .ics saya mendapatkan pop up untuk menyimpan atau membuka dengan gedit (karena ini adalah file VCS / ICS) ada tip tentang ini? btw superuser.com/a/442494/216033 menyebutkan solusi serupa.
TiloBunt
di sini ics pengujian (menemukannya selama pencarian di Google untuk solusi) calendar-a-googleproductforums-com.googlegroups.com/attach/…
TiloBunt
15

Di versi Chromium / Chrome yang lebih baru, Anda harus masuk ke kalender google dan mengklik ikon berlian yang tumpang tindih di bilah alamat.

Tangkapan layar

Pilih "Gunakan Kalender Google", lalu klik selesai. Ini akan mendaftarkan kalender Google sebagai penangan untuk tautan webcal.

Catatan:
Anda mungkin perlu mengatur Chromium agar situs menjadi penangan protokol default. Anda dapat melakukannya melalui:

  1. Pengaturan lanjutan -> Privasi, Pengaturan Konten -> Penangan
  2. Pilih "Izinkan situs untuk meminta menjadi penangan default untuk protokol"
peonikel
sumber
Tidak bekerja di chrome ...
Banee Ishaque K
1

Karena saya menemukan pertanyaan yang sama dengan OP dan banyak hal telah berubah sejak jawaban yang diterima diposting, saya pikir saya akan membagikan temuan saya. Instruksi berikut terutama untuk Firefox, tetapi selain dari sedikit perbedaan mereka juga harus berfungsi di Chrome.

[2019-03-08] Pembaruan: mencerminkan perilaku Firefox baru

Karena menggunakan

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

di konsol Firefox menghasilkan a

SecurityError: Izin ditolak untuk menambahkan https://www.google.com/calendar/render?cid=%s sebagai penangan protokol

Saat ini, inilah cara baru untuk tetap "mewujudkannya":

  1. Arahkan ke about:config, konfirmasikan risiko dengan mengklik tombol.
  2. Ketik webcal, memfilter daftar ke item jenis gecko.handlerService.schemes.webcal.[...].
  3. Klik Edittombol di sebelah kanan dipilihnya Anda [...].nameitem (sejak 30 box itu ditinggalkan dengan Firefox 67 , saya memilih untuk [...].0.name)
  4. Ketikkan nama yang Anda inginkan, mis. Google CalendarDan klik Save.
  5. Klik Edittombol [...].uriTemplateitem terkait Anda , yaitu yang tepat di bawah yang Anda edit.
  6. Tempel URL https://calendar.google.com/calendar/r?cid=%sdan klik Save.
  7. Pergi ke opsi Firefox untuk aplikasi terkait dengan mengklik berturut-turut , ⚙ Options, ⚙ Generalpilihan menu dan kemudian bergulir turun ke Applicationsayat.
  8. Cari daftar webcaldengan mengetiknya di kotak pencarian tepat di atas daftar atau melalui menggulir.
  9. Klik tarik-turun di bagian kanan entri dan pilih Use Google Calendar(atau nama apa pun yang Anda pilih pada instruksi # 4).

Kalender pengujian: https://www.webcal.fi/en/calendars.php

HTH. Jika tidak, tinggalkan komentar di bawah.

Yoda
sumber
Ikuti semua langkah tetapi masih tidak berhasil untuk saya di FF 50.1.0 / Ubuntu x64. Semua seperti yang Anda katakan tetapi ics masih memanggil dialog dengan penanganan konten (simpan atau jalankan aplikasi). Saya sudah mencoba navigator.registerContentHandlermetode tetapi masih belum ada hasilnya, URI / gcal tidak terdaftar untuk tipe mime:text/calendar
b1r3k
1
Maaf, tetapi tampaknya Google atau Mozilla mengubah sesuatu dan karena itu tidak berfungsi saat ini. Meskipun demikian, Anda masih dapat secara manual menambahkan entri untuk gecko.handlerService.schemes.webcal.X.namedan gecko.handlerService.schemes.webcal.X.uriTemplate(di mana X adalah angka yang lebih tinggi dari yang tertinggi saat ini) dalam about:configURL. setelah itu, Anda dapat melanjutkan dengan instruksi # 5.
Yoda
Saya hanya mencoba ini di Google Chrome terbaru tanpa hasil. Saya bisa mendapatkan pawang untuk mendaftar, tetapi tidak berhasil membuat file ICS dimuat ke Google Cal dengan pawang yang terdaftar.
Craig Lambie
@CraigLambie Pertama, cukup menyedihkan menemukan jawaban saya " -1ed" oleh pengguna Chrome yang tidak senang. Kedua, saya tidak pernah mengatakan "instruksi juga berfungsi di Chrome". Sebagai gantinya, saya dengan jelas menyatakan: " selain dari sedikit perbedaan, mereka seharusnya bekerja di Chrome"! Terakhir, karena saya tidak akan pernah menggunakan Chrome, saya tidak peduli bagaimana ia menangani tautan webcal - untuk Firefox berfungsi dan itulah alasan di balik seluruh jawaban ini sejak awal - untuk solusi berbasis Chromium, lihat jawaban dari @peonicles atau @jeremija dan minta mereka untuk perbaikan Chrome lebih lanjut.
Yoda