Metadata-Version: 2.4
Name: hinocal-ecr33
Version: 1.0.0
Summary: Google Calendar Download/Upload
Author-email: ECR33 <kenji.sakurai.hinogaku@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/ECR33/hinocal
Project-URL: Bug Tracker, https://github.com/ECR33/hinocal/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12.3
Description-Content-Type: text/markdown
Requires-Dist: google-api-python-client~=2.162.0
Requires-Dist: google-auth-httplib2~=0.2.0
Requires-Dist: google-auth-oauthlib~=1.2.1
Requires-Dist: icecream~=2.1.4
Requires-Dist: openpyxl~=3.1.5
Requires-Dist: python-dotenv~=1.1.0
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"

# カレンダー登録機能

Googleカレンダーの編集を補完するために以下の機能を提供します

- GoogleカレンダーからイベントをダウンロードしExcelファイルに記入する
- Excelファイルの内容をGoogleカレンダーに登録する

Excelファイルを介することによりイベントの一覧性を高め、全体を見渡した編集を行いやすくしています。



## 想定するワークフロー

1. Googleカレンダーをダウンロード

    ```hinocal download```

2. Excel編集

    新規イベントを記入したり、既存のイベントを修正する。

3. Excelデータをアップロード

    ```hinocal upload```

## Excelフォーマット


| 開始日 | 終了日 | 行事 | 内容 | 作成日 | 更新日 | イベントID |
| ------ | ------ | ---- | ---- | ------ | ------ | ---------- |
|        |        |      |      |        |        |            |

- 開始日
  イベントの開始日。時間を記入する必要はない。同じ日のイベントでも別の行に記載すること。1イベント1行です。
- 終了日
  イベントの終了日。この日を含む予定として作成される。一日のみのイベントの場合は記入不要。
- 行事
  イベントの名称
- 内容
  イベントの内容。補足事項など
- 作成日
  システムで管理する値。記入不要。カレンダーイベントの作成日
- 更新日
  システムで管理する値。記入不要。カレンダーイベントの更新日
- イベントID
  システムで管理するID。記入不要。プログラムを実行して登録処理を行うとここにIDが記入される。この値は変更してはいけない。

> コマンドでGoogleカレンダーをダウンロードすると同じ形式のファイルが作成されるので雛形として使用できます。

> 新年度、イベント登録がない状態でダウンロードすると空の雛形ファイルとして使用できます。


> 開始日、行事を空白にし、イベントIDが残っているとそのイベントをカレンダーから削除します。


> イベントIDを不用意に消さないようにシートに保護をかけています。編集する際に不便な場合は保護を解除してください。ただし、その際はイベントIDが修正されないようにご注意ください。

 
## Googleカレンダーへのアクセス設定

以下の記事を参考にGoogleカレンダーへアクセスできるように準備してください。

https://developers.google.com/calendar/api/quickstart/python?hl=ja

上記のリンク先で以下のような作業を行っています。

- APIを有効にする
- OAuth同意画面を構成する
- デスクトップアプリケーションの認証情報を承認する
  - credentials.jsonを作成します
- Googleクライアントライブラリをインストールする
  - このコマンドに含まれているためインストール不要です


```hinocal```コマンド初回実行時にはGoogleの認証処理が行われます。ブラウザを操作して適宜認証してください。


