IT技術に関する情報掲載サイト

プログラミングに関することを掲載します。

APIを使ってGoogleCalenderに登録された予定を抽出する際の注意

developers.google.com

このAPIを使って、GoogleCalenderに登録されている予定を削除しようとしたら、400がでてエラーになってしまった。登録ができたのになぜだかわからないので、しらべてみた。

 

 

            // 取得時の詳細設定
            $optParams = array(
                'maxResults' => 10,
                'orderBy' => 'startTime',
                'singleEvents' => true,
                'timeMin' => $start_day->format('c') //昨日以降の予定を取得対象
            );

            $results = $service->events->listEvents($calendarId, $optParams);

そしたら、予定の抽出での範囲指定の日時の形式がまちがっていた。どうも、PHPのdate関数をつかってはだめみたいです。

色々調べたら、Carbonを使うといいみたいです。CarbonとはPHPのDateTimeクラスをオーバーラップした日付操作ライブラリです。

   use Carbon/Carbon
            $tz = new DateTimeZone('Asia/Tokyo');
            $start_day = Carbon::create(
                date("Y",strtotime($yestaday)),
                date("m",strtotime($yestaday)),
                date("d",strtotime($yestaday)),
                date("H",strtotime($yestaday)),
                date("i",strtotime($yestaday)),
                date("s",strtotime($yestaday)),
                $tz
            );

こういう細かなところは、なかなかエラーメッセージからはわからないので、原因をみつけるのには、一苦労でした。