hiyori-assist

ヒヨリ 日程入力アシスト

伝助・デイコード・調整さん・ヒヨリの出欠入力を手伝う Chrome 拡張機能です。 フリーカレンダー(フリカレ)や Googleカレンダーの予定を読んで、入力表に ○△× をまとめて入れます。

カレンダーの予定は、どこにも送りません。 読み込みも ○△× への変換も、すべてあなたのブラウザの中で行います。 作者のサーバー(ヒヨリを含む)にも送りません。このリポジトリでコードを公開しているのは、それを誰でも確かめられるようにするためです。


できること

出欠入力の画面(伝助・デイコード・調整さん)

入力表の横に「日程入力アシスト」のパネルが出ます。

どれも画面のボタンを押した状態にするだけです。各サービスの「登録する」などを押すまで保存されません。

伝助の新規作成画面

候補日程の欄の上に「候補日程アシスト」が出ます。

ヒヨリ

参加者ページの「取り込む」→「Google」から、Googleカレンダーの予定を 全・昼・夜・× にして表に入れます。 ヒヨリのサイトはカレンダーのアドレスも予定も受け取りません。届くのは「保存する」を押したときの表の答えだけです。


入れ方

Chrome ウェブストアから

(公開後にリンクを載せます)

ソースから(開発者向け)

  1. このリポジトリをダウンロードして展開する
  2. Chrome で chrome://extensions を開き、右上の「デベロッパーモード」をオンにする
  3. 「パッケージ化されていない拡張機能を読み込む」で、展開したフォルダを選ぶ

Googleカレンダーを使うとき

  1. パソコンで Googleカレンダーを開き、右上の歯車 →「設定」
  2. 左の「マイカレンダーの設定」から、読みたいカレンダーを選ぶ
  3. 「カレンダーの統合」にある「iCal形式の非公開アドレス」をコピー
  4. 拡張機能の設定画面(chrome://extensions →「詳細」→「拡張機能のオプション」)か、パネルの「Google」タブに貼る

このアドレスは予定を読める鍵です。拡張機能の中(chrome.storage.local)にだけ保存し、Google 以外には送りません。他の人には見せないでください。 Google 側の反映に数時間かかることがあります。会社・学校のアカウントでは使えないことがあります。


権限と通信先

権限・通信先 使いみち
storage 設定(フリカレの URL、Googleカレンダーのアドレス、コメントなど)をこのブラウザに保存する
declarativeNetRequestWithHostAccess フリカレへの読み込みのときだけ、この拡張機能自身の通信から Origin ヘッダーを外す(フリカレの公開カレンダーを、通常のページと同じ形で読むため)。他の通信には触れない
https://freecalend.com/open/data 公開しているフリカレのカレンダーを読む(読み取りのみ)
https://calendar.google.com/calendar/ical/* Googleカレンダーの予定(iCal)と、日本の祝日を読む
https://macchan.onrender.com/api/sched/* 伝助の新規作成で「ヒヨリから写す」を使ったときだけ、その日程調整の題名と候補日を読む
伝助・デイコード・調整さん・ヒヨリのページ パネルを表示し、入力表のボタンを押す

広告・アクセス解析・外部スクリプトの読み込みはありません。

フリカレへの負担を抑える決まり

1か月分を1回と数え、同じ月は1時間使い回し、1回に読むのは3か月まで、同じカレンダーは1分に1回まで、1日の上限(1カレンダー12か月分・全体36か月分)、エラーが返ったら30分止める、を守っています。詳しくは CHANGELOG.md を見てください。


ファイル

ファイル 役割
manifest.json 拡張機能の設定
background.js フリカレ・Googleカレンダー・祝日の読み込み(予定名はここから外に出さない)
ics.js iCal の読み解きと繰り返しの展開
availability.js 空き状況の判定(ヒヨリ本体と共通)
content.js 出欠入力の画面のパネル
create.js 伝助の新規作成画面の候補日程アシスト
hiyori.js ヒヨリの参加者ページで Googleカレンダーから入れる
options.html / options.js 設定画面
store/ Chrome ウェブストアへの提出用の資料とスクリプト(拡張機能には含めない)

この拡張機能は、伝助・デイコード・調整さん・フリーカレンダー・Google の公式のものではありません。