ボタンを押して、認証情報の作成画面に遷移します。ボタンをクリックします。ボタンをクリックします。コンソールからの作業は終了です。スケジュール情報を取得します。認証が複雑ですが、認証処理については下記サイトを参考にそのまま実装しています。Developersただ、私の環境では実行すると下記のようなエラーが出ました。これはSSLアクセスの際に証明書が見つからないことによるエラーのようです。調べた結果、下記サイトの情報をみつけました。github.com上記サイトで紹介されているように、証明書のパスを下記のように設定することで解決しました。呼んでスケジュールを取得します。開始時間の上限(いつより前に開始したか)や終了時間の下限(いつより後に終了するか)、ソート順を条件に指定できますので、下記のような条件を指定しています。終了時間下限:現在時刻ソート順:開始時間の昇順ただこれだと今実行中の予定(開始済みでまだ終了していない予定)を除外することができないので、自前で除外処理を実装しています。ここまでを一つのクラスとして実装していて、コードの全体は下記のようになります。上で日本語を扱えるようにロケールを設定します。下記サイトを参考にそのまま実行しました。取得して環境変数に設定し、それを認証情報として使用します。endあとは音声ファイル生成のAPIを呼び出せばOKです。いうIDの女性の音声のみ使用できます。呼び出すと結果は音声ストリームとして返ってきますが、SDKからのアクセスであれば、出力先をファイルとして指定できるので、ストリームの処理を行う必要がなく手軽に使えます。形式のファイルしか再生できません。再生したかったのですが、再生しようとするとライブラリが不足していてエラーになってしまい、すんなり解決できなかったのでとりあえず変換してしまうことにしました。実行すれば、再生することができます。変換、再生までを一つのクラスとして実装しています。コードの全体は下記のようになっています。endendリマインダーを毎分実行ここまででスケジュール情報の取得と音声ファイルの生成、再生の準備はできたので、あとは一分おきにこれらを実行するようにします。実行にも柔軟に対応できそうですが、今回はそこまでやると手間がかかってしまうので、起動したら60秒スリープで無限ループを回して、一度リマインド済みの予定はIDを記録しておいて、複数回通知されないようにしました。再起動時に直近の予定が再度リマインドされてしまうことは許容しています。コードの全体は下記の通りです。'間も無く、%sが始まる時間です。endendこれをバックグラウンド実行しておけば、次の予定の10分前になると音声での通知が行われ、下記のようにログに出力されます。ついては先日残念ながら販売が終了になることが明らかになりました。触る機会もあるのではないかと思います。手軽に使えるので、色々なことに活用できそうな気がしています。組み合わせも色々とできそうなので、また遊んでみたいと思います。今回のコードは下記リポジトリに公開してありますので、よろしければご参照ください。発売が発表されました。