同期-イベントをGoogleカレンダーに挿入すると、重複が作成されます(php)
プロジェクト管理システムからカレンダーイベントを取得し、それらをユーザーのGoogleカレンダーと同期するためのphpスクリプトを作成しています。イベントを作成してGoogleカレンダーにプッシュできるコードがありますが、問題は、同じパラメーターを使用してイベントを何度も作成できることです。イベントを作成するための私のコードは次のとおりです(Google Calendar APIドキュメントからのものです):
$event = new Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new EventDateTime();
$start->setDateTime('2012-03-21T10:00:00.000-04:00');
$event->setStart($start);
$end = new EventDateTime();
$end->setDateTime('2012-03-21T11:25:00.000-04:00');
$event->setEnd($end);
$attendees = array($attendee1);
$event->attendees = $attendees;
$createdEvent = $calendarService->events->insert('myCalendarId', $event);
このコードを実行すると、必要に応じてイベントが作成されます。今、私はこれを正しく行っていない可能性がありますが、これはカレンダーを同期するために使用するコードです。ユーザーがサイトを閲覧しているときにこのコードを実行しますが、問題は、既に作成されているイベントがすべて再作成されることです。
説明のために:ユーザーは25日の午前11時に会議を開きます。コードが実行され、その会議がGoogleに挿入されます。コードの次の反復では、同じ会議が再度挿入されます。
Googleで作成されたイベントが、現在システムにあるイベントと同じであるかどうかを確認するにはどうすればよいですか? IDとeTagを公開するGoogleのイベントを列挙することはできますが、システムからまだ追加されていない同一のイベントと同じではありません...
誰か?
答え :
解決策:
すべてのイベントには一意のIDがあります。新しいイベントを作成している間、Googleカレンダーは作成されたイベントを返します。今後このイベントを更新するには、IDを保存する必要があります。 これを試してみてください。
$calendarService->events->update($calendarId, $eventId, Event $postBody, $optParams = array())
答え :
解決策:
この質問は3歳のようなものですが、簡単な解決策があると思います。
独自のデータベースでイベントにフラグを立てます。したがって、次にエクスポートを実行するときに、すでにエクスポートされていることがわかっているため、エクスポートは取得されません。
頑張ってください。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。