Как "Добавить гостя" к событию через Google Calendar API?

Не могли бы вы дать мне подсказку о том, как поделиться одним событием через API календаря Google?

То есть я хотел бы пригласить других пользователей увидеть событие программно, не делясь всем календарем. Чтобы имитировать действие пользовательского интерфейса "Добавить гостей" Календарь Google Добавить гостей

1 ответ

Решение

Вы можете использовать API для добавления людей в attendees коллекция:

https://developers.google.com/google-apps/calendar/v3/reference/events/update

Как упоминал Клаудио, для этого вам нужно использовать расширенный API Календаря Google.

Вы хотите использовать patch потому что вы не хотите заменять все остальные данные в приглашении календаря. Однако даже в случае patch, так как участники живут в массиве, если вы попытаетесь передать патч, такой как этот:

{
  attendees: [ { email: "new@example.com"} ]
}

... он заменит всех старых приглашенных (то есть удалит всех, кто был в приглашении, прежде чем вы позвонили patch). Чтобы это исправить, вы должны сначала получить текущих приглашенных, добавить нового человека в массив, а затем отправить patch,

Вы можете увидеть подробный пример этого в этом ответе, который также объясняет, как использовать Сценарии Служб Google, чтобы гарантировать, что электронное письмо отправляется пользователю при добавлении его в событие календаря (см. addGuestAndSendEmail() метод в этом посте).

Обратитесь к следующему запросу.

метод: POST

конечная точка: https://www.googleapis.com/calendar/v3/calendars/primary/events?sendUpdates=all

здесь sendUpdates означает, что вы добавляете любого гостя, чтобы он получал письмо с приглашением, используемое в зависимости от сценария.

Введите Json: { "kind": "calendar#event", "etag": "etag", "status": "подтверждено", "summary": "JayKara", "description": "eqwbdjhwhhwhhwrhjehrhejhfj", "location": "America", "creator": {"email": "@mail.com", "self": true}, "organer ": {" email ":"@mail.com", "self": true}, "start": {"date": "2019-12-23"}, "end": { "date": "2019-12-24"}, "originalStartTime": {"date": "2019-12-24"},"видимость": "общедоступная", "участники": [ { "email": "****@mail.com" // эти ребята - гость} ] }.

После этого не требуется никакого метода исправления, ваши гости будут получать приглашение при каждом событии обновления.

Ура!

Другие вопросы по тегам