前提・実現したいこと
管理画面で入力されたメールアドレスをGoogleカレンダーの既存の予定にゲストとして追加したいです。
予定の新規登録、取得、ゲストを追加しない場合の更新は問題なく行えていますが、ゲストを追加しようとすると以下のエラーが発生します。
発生している問題・エラーメッセージ
{ "error": { "errors": [ { "domain": "calendar", "reason": "forbiddenForServiceAccounts", "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } ], "code": 403, "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } }
該当のソースコード
php
1 try{ 2 $eventId = "イベントid"; 3 4 $client = new Google_Client(); 5 $client->setApplicationName('イベント更新'); 6 $client->useApplicationDefaultCredentials(); 7 $client->setScopes(array(Google_Service_Calendar::CALENDAR, Google_Service_Calendar::CALENDAR_EVENTS)); 8 $client->setAuthConfig(SERVICE_KEY_PATH); 9 $client->setSubject("サービスアカウント"); 10 $service = new Google_Service_Calendar($client); 11 12 $event = $service->events->get(CALENDAR_ID, $eventId); 13 14 $attendeeNew = new Google_Service_Calendar_EventAttendee(); 15 $attendeeNew->setEmail("example@example.com"); 16 $attendeeNew->setDisplayName("テスト"); 17 18 $attendees = $event->getAttendees(); 19 array_push($attendees, $attendeeNew); 20 $event->setAttendees($attendees); 21 22 $updatedEvent = $service->events->update(CALENDAR_ID, $eventId, $event); 23 }catch(Exception $e) { 24 echo $e->getMessage(); 25 exit; 26 }
以上です。
宜しくお願い致します。
あなたの回答
tips
プレビュー