- Организатор создает событие Google с помощью 'guestCanModify: true'
- Когда участник пытается обновить это событие через API календаря Google (например: patch ), оно не восстанавливается. оригинальное событие. Я смотрю это событие через веб-календарь google. *https://calendar.google.com/), я могу изменить исходное событие. Это преобразовано в календарь органайзера.
В чем проблема при использовании API календаря Google?
Я использую справочную страницу календаря Google. https://developers.google.com/calendar/v3/reference/events/patch Я указал 'calendarId' (идентификатор календаря участника), 'eventId' и тело запроса (например, сводку, описание ... и т. Д. c)
Вот пример кода.
Учетная запись Google организатора - «organizer@sample.com», учетная запись Google участника - «attendee@sample.com». Участник приглашен на какое-то мероприятие, и посетитель хочет обновить какое-то свойство события, например сводку. Я изменил идентификаторы и адреса электронной почты на вымышленные.
- Участник получает приглашение на подобное мероприятие.
{
"kind": "calendar#event",
"etag": "\"xxxxxx\"",
"id": "eventidsample",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=sample",
"created": "2020-08-05T02:39:16.000Z",
"updated": "2020-08-06T04:59:51.271Z",
"summary": "Meeting",
"description": "Talk about product.",
"creator": {
"email": "organizer@sample.com",
"displayName": "Organizer"
},
"organizer": {
"email": "organizer@sample.com",
"displayName": "Organizer"
},
"start": {
"dateTime": "2020-08-05T10:00:00+09:00"
},
"end": {
"dateTime": "2020-08-05T11:00:00+09:00"
},
"iCalUID": "eventidsample@google.com",
"sequence": 0,
"attendees": [
{
"email": "organizer@sample.com",
"displayName": "Organizer",
"organizer": true,
"responseStatus": "accepted"
},
{
"email": "attendee@sample.com",
"self": true,
"responseStatus": "needsAction"
}
],
"guestsCanModify": true,
"reminders": {
"useDefault": true
}
}
Я обновляю через API календаря Google, вот так
curl --request PATCH \
'https://www.googleapis.com/calendar/v3/calendars/attendee%40sample.com/events/eventidsample?key=[YOUR_API_KEY(Attendee's key)]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"summary":"Meeting title updated"}' \
--compressed
Это обновление не влияет на органайзер, оно отображается только для участников. Но, если участник обновляет сводку мероприятия через веб-сайт календаря Google, обновление затрагивает организатора.