基本的な要約:シンジケーションと印刷を容易にするために、人々が予定をスケジュールしてタイムスロットを予約できるようにするクライアント側のカレンダーを作成しました (たとえば、予約はデータベースに記録され、2 番目の人は同じタイムスロットを選択できません)。プロバイダー側でこれらの予定を 1 つの Google カレンダーにプッシュするように要求しました。Google アカウントとそのカレンダーを作成し、この同じ Google ユーザーの下で Calendar API にアクセスできる API キーを作成しました。そのため、Web サイトで毎回このユーザーの資格情報を使用してイベントを作成したいと考えています。これは「サービス アカウント」のように見えますが、アプリケーションを作成したユーザーでさえ、ユーザー データにアクセスできないようです。
これをやってのける方法についてのアイデアはありますか?それが驚くほど単純であるように思われ、私がこのようなことをしたいと思った最初の人である方法はありませんが、その例を見つけることができれば気になります。
ここにコードのスニペットがあります
$event = new Google_Event();
$event->setSummary($title);
$event->setLocation($location);
$start = new Google_EventDateTime();
$start->setDateTime($date . 'T' . $startTime . ':00.000-06:00');
$event->setStart($start);
$end = new Google_EventDateTime();
$end->setDateTime($date . 'T' . $endTime . ':00.000-06:00');
$event->setEnd($end);
$attendee1 = new Google_EventAttendee();
$attendee1->setEmail($email);
$attendees = array($attendee1);
$event->attendees = $attendees;
$client = new Google_Client();
$service = new Google_CalendarService($client);
$createdEvent = $service->events->insert('my calendar ID', $event);
そしてエラー
Uncaught exception 'Google_ServiceException' with message 'Error calling POST https://www.googleapis.com/calendar/v3/calendars/projecthimcal@gmail.com/events?key=AIzaSyAfSCfLJCMSkGRmjZXRtChPPcMNmEuCZow: (401) Login Required' in /home/mydomain.com/wp-content/themes/mytheme/libs/gAPI/io/Google_REST.php:66