前回はカレンダーの参照を行った。
[Android] Googleカレンダーと連携する(1) カレンダーの参照
今回は新しいカレンダーを追加する方法を見ていこう。
[Android] Googleカレンダーと連携する(1) カレンダーの参照
今回は新しいカレンダーを追加する方法を見ていこう。
カレンダーの追加はとても簡単だ。
コードを見てみよう。
ACCOUNT_NAME:自分のメールアドレス
ACCOUNT_TYPE:他のカレンダーとかぶらないような値。今回は"chicketen.test"とした。
NAME:カレンダーの名前。今回は"テストカレンダー"とした。
CALENDAR_DISPLAY_NAME:カレンダーのアプリで表示される名前。今回はNAMEと同じにした。
CALENDAR_COLOR:カレンダーのアプリで表示される祭の色。
CALENDAR_ACCESS_LEVEL:前回軽く説明したが、カレンダーのパーミッション。基本的には"700"にしておけばよいだろう。
SYNC_EVENTS:イベントを同期するかどうかの値らしいがよく分からない。基本は1でいいだろう。
CALENDAR_TIME_ZONE:タイムゾーンの設定。基本的にはデフォルトのタイムゾーンで良いだろう。
OWNER_ACCOUNT:カレンダーの保持者のアカウント。基本的には自分のメールアドレスを入れる。
これを実行すると、新しいカレンダーが追加されるはずだ。
ところで、insertで見慣れないメソッドを使用していることに気づくはずだ。
これはまあ、おまじないのようなものだと思って良い。
以下のようなメソッドになる。
それでは実行後に前回のロジックで追加後のカレンダー一覧を参照してみよう。
ところで、前回ACCOUNT_TYPEが"com.google"の場合はGoogleカレンダーと同期しているカレンダーであるということを説明したが、今回のロジックでACCOUNT_TYPEを"com.google"にすれば、Googleカレンダーに新規カレンダーを追加できるのだろうか。
答えはノーだ。
実行しても新しいカレンダーは作成されない。
調べてみると、stackoverflowで答えが見つかった。
Create new synced calendar with android api - stackoverflow
少なくとも現段階では、端末ローカルのアカウントしか作れないようだ。
これは少々残念だが、セキュリティを考えたらしょうがないのかもしれない。
ただし、既存のGoogleカレンダーにイベントを登録することは出来る。
次回以降にその辺を見ていくことにする。
参考文献
関連記事
[Android] Googleカレンダーと連携する(1) カレンダーの参照
[Android] Googleカレンダーと連携する(3) イベントの操作
コードを見てみよう。
ACCOUNT_NAME:自分のメールアドレス
ACCOUNT_TYPE:他のカレンダーとかぶらないような値。今回は"chicketen.test"とした。
NAME:カレンダーの名前。今回は"テストカレンダー"とした。
CALENDAR_DISPLAY_NAME:カレンダーのアプリで表示される名前。今回はNAMEと同じにした。
CALENDAR_COLOR:カレンダーのアプリで表示される祭の色。
CALENDAR_ACCESS_LEVEL:前回軽く説明したが、カレンダーのパーミッション。基本的には"700"にしておけばよいだろう。
SYNC_EVENTS:イベントを同期するかどうかの値らしいがよく分からない。基本は1でいいだろう。
CALENDAR_TIME_ZONE:タイムゾーンの設定。基本的にはデフォルトのタイムゾーンで良いだろう。
OWNER_ACCOUNT:カレンダーの保持者のアカウント。基本的には自分のメールアドレスを入れる。
これを実行すると、新しいカレンダーが追加されるはずだ。
ところで、insertで見慣れないメソッドを使用していることに気づくはずだ。
これはまあ、おまじないのようなものだと思って良い。
以下のようなメソッドになる。
それでは実行後に前回のロジックで追加後のカレンダー一覧を参照してみよう。
1:docomo docomo com.android.nttdocomo ----------------------------------- 2:[自分のGMAILアドレス] [自分のGMAILアドレス] com.google ----------------------------------- 3:日本の祝日 [自分のGMAILアドレス] com.google ----------------------------------- 4:誕生日 [自分のGMAILアドレス] com.google ----------------------------------- 5:テストカレンダー [自分のGMAILアドレス] chicketen.test -----------------------------------問題なく登録されているようだ。
ところで、前回ACCOUNT_TYPEが"com.google"の場合はGoogleカレンダーと同期しているカレンダーであるということを説明したが、今回のロジックでACCOUNT_TYPEを"com.google"にすれば、Googleカレンダーに新規カレンダーを追加できるのだろうか。
答えはノーだ。
実行しても新しいカレンダーは作成されない。
調べてみると、stackoverflowで答えが見つかった。
Create new synced calendar with android api - stackoverflow
少なくとも現段階では、端末ローカルのアカウントしか作れないようだ。
これは少々残念だが、セキュリティを考えたらしょうがないのかもしれない。
ただし、既存のGoogleカレンダーにイベントを登録することは出来る。
次回以降にその辺を見ていくことにする。
参考文献
関連記事
[Android] Googleカレンダーと連携する(1) カレンダーの参照
[Android] Googleカレンダーと連携する(3) イベントの操作
コメント