目的
google calendar の内容を org ファイルと同期連携させる
設定
-
gogole calendar API の有効化
-
[プロジェクトを作成] を選択
-
[プロジェクト名] に [org-gcal] を入力
-
[作成] を選択
-
プロジェクトの選択より、[org-gcal] を選択
-
バーガーメニューより、[API とサービス] > [ライブラリ] を選択
-
[google calendar] で検索
-
[Google Calendar API] を選択 1
-
[有効にする] を選択
-
[認証情報を作成] を選択
-
[API を呼び出す場所] で [その他の UI (Windows、CL ツールなど)] を選択
-
[アクセスするデータの種類] で [ユーザーデータ] を選択
-
[必要な認証情報] を選択
-
[OAuth 2.0 クライアント ID を作成する] にて、[org-gcal] を入力
-
[OAuth クライアント ID を作成] ボタンを選択
-
[OAuth 2.0 同意画面を設定する] で以下を設定
- メールアドレス : (メールアドレスを選択)
- ユーザーに表示するサービス名 : (適当に org-gcal など)
-
[次へ] を選択
-
[認証情報をダウンロードする] で [ダウンロード] を選択
-
ダウンロードされた [client_id.json] を開き、 client_id、client_secret の値を確認
{ "installed": { "client_id": "ThisIsClientID", "project_id": "ThisIsProjectID", "auth_uri": "ThisIsAuthURL", "token_uri": "ThisIsTokenURL", "auth_provider_x509_cert_url": "ThisIsCertURL", "client_secret": "ThisIsClientSecret", "redirect_uris": [ "ThisIsURN", "ThisIsHTTP" ] } }
-
[カレンダー ID] の取得
- Google Calendar にアクセス
- [歯車マーク] > [設定] を選択
- [マイカレンダーの設定] の中から同期したいカレンダーを選択
- [カレンダー ID] の値をメモ (e.g. sample@foo.google.com)
-
org-gcal.el のインストール (M-x package-install org-gcal)
-
init.el を設定
(require 'org-gcal) (setq org-gcal-client-id "ThisIsClientID" org-gcal-client-secret "ThisIsClientSecret" ;; ID が sample@foo.google.com のカレンダーと ~/calendar.org を同期 org-gcal-file-alist '( ("sample@foo.google.com" . "~/calendar.org") ;; ("sample2@foo.google.com" . "~/calendar2.org") )) ;; token の保存場所を変更 (setq org-gcal-dir "~/Dropbox/.emacs.d/local-lisp/org-gcal")
-
M-x org-gcal-fetch を実行
-
ブラウザが開いて、token が表示されるので、コピーしてミニバッファに入力
使い方
- M-x org-gcal-sync で同期
- M-x org-gcal-post-at-point でカーソル位置の内容をカレンダーに登録
- M-x org-gcal-delete-at-point で削除
やりたいけど、分からないこと
- Time Zone の連携
- M-x org-gcal-fetch/sync の定期実行方法
- M-x org-set-tags-command との連携
- M-x org-schedule との連携
- 階層のつけ方
参考
脚注
1 同じアイコンの [calDAV] に注意