🍻

相手に手間無く忘年会予定をGoogle カレンダーに登録させよう.php

2022/12/08に公開

忘年会にしてもなんにしても、予定を組んだら忘れないウチにカレンダーに登録してもらう必要があります。そして今大体の人はうれしいかうれしくないかはさておき、Google Calendarをつかっていますね。

メアド(Google アカウント)をしってればInviteできますが、まあ全員のものをしってるわけもないですよね。

ってことで、Google Calendarはある特定のフォーマットに沿えば、そのURLをひらくだけで、ポン!と登録ができるようになります。

こういうやつですね。

で、これをどうやって生成するかといえば、以下です。

<?php

echo 'http://www.google.com/calendar/event?' . http_build_query([
	"action"=>"TEMPLATE",
	"text"=>"81忘年会",
	"dates"=>
	  (new \DateTime("2022/12/30 18:00:00", new \DateTimeZone("Asia/Tokyo")))->setTimezone(new \DateTimeZone('UTC'))->format("Ymd\THis\Z")
	  .'/'.
	  (new \DateTime("2022/12/30 23:00:00", new \DateTimeZone("Asia/Tokyo")))->setTimezone(new \DateTimeZone('UTC'))->format("Ymd\THis\Z"),
	"details"=>"ご質問はuzullaまで",
	"location"=>"東京都",
	"trp"=>"false",
	"sprop"=>"name:uzulla",
]);

まあ、見ての通りです、それぞれを適宜書き換えてください。
(日付周りがややこしいですが、TZをちゃんとしないといけないんだよね…)

適宜書き換えた上で、 php -aでREPLをひらき、echoから最後までペーストして実行でもOKです。

http://www.google.com/calendar/event?action=TEMPLATE&text=81%E5%BF%98%E5%B9%B4%E4%BC%9A&dates=20221230T090000Z%2F20221230T140000Z&details=%E3%81%94%E8%B3%AA%E5%95%8F%E3%81%AFuzulla%E3%81%BE%E3%81%A7&location=%E6%9D%B1%E4%BA%AC%E9%83%BD&trp=false&sprop=name%3Auzulla

こんな結果がえられます、あとはこれを送りつけましょう。

注意点

これはいわゆる招待とちがってリモートで編集はできません。

Discussion