Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arimichi/bacd46cb96d9e758164592b078bbf59d to your computer and use it in GitHub Desktop.
Save arimichi/bacd46cb96d9e758164592b078bbf59d to your computer and use it in GitHub Desktop.
// ********************************************
// mtssb-booking-from.php変更
// ********************************************
// 679行から 追加 Googleカレンダー自動追加
// composerでインストールしたライブラリを読み込む
require_once __DIR__.'/../../../../../../vendor/autoload.php';
// サービスアカウント作成時にダウンロードしたjsonファイル
$aimJsonPath = __DIR__ . '/../../../../../../key/Project calendar-xxxxxxxxxxxxxxxx.json';
// サービスオブジェクトを作成
$client = new Google\Client();
// このアプリケーション名
$client->setApplicationName('カレンダー操作テスト');
// ※ 注意ポイント: 権限の指定
// 予定を取得する時は Google\Service\Calendar::CALENDAR_READONLY
// 予定を追加する時は Google\Service\Calendar::CALENDAR_EVENTS
$client->setScopes(Google\Service\Calendar::CALENDAR_EVENTS);
// ユーザーアカウントのjsonを指定
$client->setAuthConfig($aimJsonPath);
// サービスオブジェクトの用意
$service = new Google\Service\Calendar($client);
/*
* 予定の追加
*/
// 開始時刻
$start_time = $booking['booking_time'];
$booking_date_time = date_i18n('c', $start_time);
// 終了時刻 3時間後
$booking_end_time = date_i18n('c', $start_time+(60*60*3));
// 名前
$booking_summary = 'Web予約-' . esc_html($booking['client']['name']);
// カレンダーID
$calendarId = '〇〇●●●〇〇@gmail.com';
$event = new Google\Service\Calendar\Event(array(
'summary' => $booking_summary, //予定のタイトル
'start' => array(
'dateTime' => $booking_date_time,// 開始日時
'timeZone' => 'Asia/Tokyo',
),
'end' => array(
'dateTime' => $booking_end_time, // 終了日時
'timeZone' => 'Asia/Tokyo',
),
));
$event = $service->events->insert($calendarId, $event);
@mtssinmple
Copy link

ありがとうございます。
まさにこれを探していました。
しかしながら素人の私がやったらぶっ壊してしまいました。どうにか直していただく手立てはありませんか?

@arimichi
Copy link
Author

arimichi commented Jul 2, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment