web-dev-qa-db-ja.com

iCal / ICSファイルのwebcalプロトコルのデフォルトハンドラーとしてのGoogleカレンダー

Googleカレンダーで、Gmailと同様に、 Webcal(wikipedia) スキーム(ICSファイルを配信)でURIを開きたいmailto:リンクのデフォルトのハンドラーに設定できます。

具体的には、Googleカレンダーでメインカレンダーにインポートするようにします。 (GoogleカレンダーにICSファイルを手動でインポートするには、[他のカレンダー]の横にある小さな矢印をクリックし、ドロップダウンリストから[カレンダーをインポート]を選択し、.ICSファイルに移動して[インポート]を選択します。)

これが可能かどうかはわかりませんが、誰かが素晴らしいアイデアを持っていることを望んでいます。

19
Rasmus

クロム

クロムブラウザーは、Googleカレンダーに最初にログインするときにこのオプションを提供します。

Google Calendar in Chromium browser offers to handle webcal protocols

この質問で誤ってNoと答えた場合は、Wrenchツールバーボタンを押してSettingsに移動できます。 Show advanced settingsをクリックして、Content settings...(プライバシーヘッダーの直後)を見つけ、Manage handlersボタンを見つけます。削除する無視されたプロトコルの横にあるXをクリックします。または、Chromium設定でprotocol handlers検索ボックスに入力できます。下のスクリーンショットを参照してください。

Undo ignore protocol handler in Chromium browser

Firefox

私はこれを見つけました stackexchangeに投稿 これはFirefoxで同じことを達成する方法を説明し、 しかし、これはFirefox 12および15では機能しません: [履歴を保存しない]オプション(プライベートブラウジングモード)を無効にすると、これが機能します。

Googleカレンダーのサイトにアクセスして、Ctrl+Shift+Kを押します。

これを>記号の後に貼り付けます。

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

Enterキーを押して、ツールバーの下に表示されるAdd applicationボタンをクリックします。

Firefox console

Firefox accept protocol hanlder

これを試す前に、gecko.handlerService.allowRegisterFromDifferentHostabout:configオプションをtrueに切り替える必要がある場合があります(GoogleがローカルのGoogleドメインにリダイレクトする場合)。悪意のあるサイトがこれを悪用する可能性があるため、registerProtocolHandler関数を呼び出した後、必ずfalseに戻すことを忘れないでください。詳細を参照してください こちら

14
jeremija

Chromium/Chromeの新しいバージョンでは、Googleカレンダーにログインして、アドレスバーの重なったひし形アイコンをクリックする必要があります。

Screenshot

[Googleカレンダーを使用]を選択して、[完了]をクリックします。これにより、webcalリンクのハンドラーとしてGoogleカレンダーが登録されます。

注意:
サイトがデフォルトのプロトコルハンドラーになるようにChromiumを設定する必要がある場合があります。あなたはそうすることができます:

  1. 詳細設定->プライバシー、コンテンツ設定->ハンドラー
  2. 「サイトがプロトコルのデフォルトハンドラになるように要求することを許可する」を選択します
15
peonicles

OPと同じ質問に出くわし、受け入れられた回答が投稿されてから状況が変わったため、調査結果を共有すると思いました。以下の手順は主にFirefox向けですが、Chromeでもshouldが機能するというわずかな違いは別です。

[2019-03-08]更新:新しいFirefoxの動作を反映

使用しているため

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

firefoxのコンソールでの結果

SecurityError: https://www.google.com/calendar/render?cid=%s をプロトコルハンドラーとして追加する権限が拒否されました

最近では、まだ「実現」する新しい方法があります。

  1. about:configに移動し、ボタンをクリックしてリスクを確認します。
  2. タイプwebcal、タイプgecko.handlerService.schemes.webcal.[...]の項目にリストをフィルタリングします。
  3. クリック Edit 選択した[...].nameアイテムの右側にあるボタン(30 BoxesFirefox 67で放棄された であったため、選択しました[...].0.name
  4. 希望する名前を入力します、e。 g。 Google Calendarをクリックして Save
  5. クリック Edit 対応する[...].uriTemplateアイテムのボタン、i。 e。編集したもののすぐ下のもの。
  6. URL https://calendar.google.com/calendar/r?cid=%sを貼り付けてクリックします Save
  7. 連続してクリックして、関連するアプリケーションのFirefoxのオプションに移動します 、 ⚙ Options、 ⚙ General メニューオプションを選択し、Applications段落までスクロールします。
  8. リストのすぐ上の検索ボックスに入力するか、スクロールしてwebcalのリストを検索します。
  9. エントリの右半分にあるドロップダウンをクリックして、Use Google Calendar(または手順4で選択した名前)を選択します。

カレンダーのテスト: https://www.webcal.fi/en/calendars.php

HTH。そうでない場合は、下にコメントを残してください。

0
Yoda