Как "Добавить гостя" к событию через Google Calendar API?
Не могли бы вы дать мне подсказку о том, как поделиться одним событием через API календаря 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" // эти ребята - гость} ] }.
После этого не требуется никакого метода исправления, ваши гости будут получать приглашение при каждом событии обновления.
Ура!