Событие, которое гости могут изменить, не обновляется через API календаря Google. - PullRequest
2 голосов
/ 05 августа 2020
  1. Организатор создает событие Google с помощью 'guestCanModify: true'
  2. Когда участник пытается обновить это событие через 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». Участник приглашен на какое-то мероприятие, и посетитель хочет обновить какое-то свойство события, например сводку. Я изменил идентификаторы и адреса электронной почты на вымышленные.

  1. Участник получает приглашение на подобное мероприятие.
{
 "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, обновление затрагивает организатора.

1 Ответ

1 голос
/ 07 августа 2020

Это кажется предполагаемым поведением:

К сожалению, с учетом результатов этого средства отслеживания проблем, в настоящий момент это кажется предполагаемым поведением:

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

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

Подать запрос функции:

Учитывая, что это возможно в пользовательском интерфейсе, но не через API, я бы очень посоветовал вам отправить запрос функции на этот компонент системы отслеживания проблем .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...