Используя API Календаря Google, есть ли способ получить и сохранить ответ участников? - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь интегрировать веб-приложение чата с Google Calendar API. Приложение чата состоит из потоков / каналов, на которые подписаны многие пользователи.

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

Возможно ли, и если да, то каким образом получить ответ обратной связи от подписчиков обратно организатору мероприятия с указанием статуса подписчиков "Посещение / Интерес"? Это может быть что-то вроде событий в Facebook, где пользователи могут нажать «Заинтересованные», и это учитывается.

1 Ответ

0 голосов
/ 10 апреля 2019

Когда вы проверите документацию, API-интерфейс Календаря предоставляет различные варианты ресурсов событий, дополнительную информацию можно найти в О событиях .

Из Ресурсные представления :

{
  "kind": "calendar#event",
  "etag": etag,
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": datetime,
  "updated": datetime,
  "summary": string,
  "description": string,
  "location": string,
  "colorId": string,
  "creator": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "organizer": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "start": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "end": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "endTimeUnspecified": boolean,
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "transparency": string,
  "visibility": string,
  "iCalUID": string,
  "sequence": integer,
  "attendees": [
    {
      "id": string,
      "email": string,
      "displayName": string,
      "organizer": boolean,
      "self": boolean,
      "resource": boolean,
      "optional": boolean,
      "responseStatus": string,
      "comment": string,
      "additionalGuests": integer
    }
  ],
  "attendeesOmitted": boolean,
  "extendedProperties": {
    "private": {
      (key): string
    },
    "shared": {
      (key): string
    }
  },
  "hangoutLink": string,
  "conferenceData": {
    "createRequest": {
      "requestId": string,
      "conferenceSolutionKey": {
        "type": string
      },
      "status": {
        "statusCode": string
      }
    },
    "entryPoints": [
      {
        "entryPointType": string,
        "uri": string,
        "label": string,
        "pin": string,
        "accessCode": string,
        "meetingCode": string,
        "passcode": string,
        "password": string
      }
    ],
    "conferenceSolution": {
      "key": {
        "type": string
      },
      "name": string,
      "iconUri": string
    },
    "conferenceId": string,
    "signature": string,
    "notes": string,
    "gadget": {
    "type": string,
    "title": string,
    "link": string,
    "iconLink": string,
    "width": integer,
    "height": integer,
    "display": string,
    "preferences": {
      (key): string
    }
  },
  "anyoneCanAddSelf": boolean,
  "guestsCanInviteOthers": boolean,
  "guestsCanModify": boolean,
  "guestsCanSeeOtherGuests": boolean,
  "privateCopy": boolean,
  "locked": boolean,
  "reminders": {
    "useDefault": boolean,
    "overrides": [
      {
        "method": string,
        "minutes": integer
      }
    ]
  },
  "source": {
    "url": string,
    "title": string
  },
  "attachments": [
    {
      "fileUrl": string,
      "title": string,
      "mimeType": string,
      "iconLink": string,
      "fileId": string
    }
  ]
}

Вы найдете доступное для записи поле responseStatus, которое может иметь возможные значения:

  • "needsAction" - участник не ответил на приглашение.
  • "отклонено" - участник отклонил приглашение.
  • "предварительный" - участник предварительно принял приглашение.
  • «принято» - участник принял приглашение.
...