GoogleカレンダーにだけiCal形式のファイル参照を許可する

webdavで管理しているicalファイルを外から見えないようにしたいけど、Googleカレンダーには許可したかっので調べたメモ。

文字化けする問題は前の記事を参照。

Google カレンダー(の「URLで追加」)は認証に対応してないので、Googleからのアクセスだけサーバーの設定で許可するように設定。

ちなみにGoogleカレンダーでicalを指定する場合は「URLで追加」からicalへのURLを指定する。

次がapacheのconfファイル例。webdavの設定は前の記事を参考に。

  Alias /ical "/opt/ical"
  DavLockDB "/tmp/DavLock"

  <Directory "/opt/ical">
    Dav On
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 192.168.0 google.com googlebot.com
  </Directory>

「googlebot.com」ドメインからのアクセスを許可すればo.k.

apacheの設定をする前に「追加」をやってしまうと、次からはキャッシュを参照するようになるので、同じアドレスで指定しても、しばらくは「URLが無効です。」みたいなエラーメッセージが表示され登録できない。

そんなときはだいたい1時間後ぐらいにもう一度やってみるとうまくいく。

<2009/12/8 追記>
Googleカレンダーにだけは公開して、他のical形式は認証をつけるために設定を変えたのでメモ。

  <Directory "/opt/webdav">
    Dav On
    <Files ~ "\.ics$">
      AuthType Basic
      AuthName "Exbridge ical Secret Zone"
      AuthUserFile /opt/lampp/etc/conf.d/.htpasswd
      Require valid-user
    </Files>
    <Files ~ "\.php$">
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1 192.168. google.com googlebot.com
    </Files>
  </Directory>

 

▼関連記事

Google カレンダーでiCal形式を読み込むと文字化け
.htaccessで特定のファイルだけ参照不可(禁止)にする