Как отфильтровать события API REST API календаря Google по электронной почте участника - PullRequest
0 голосов
/ 03 февраля 2020

Я обращаюсь к API Google REST Calendar для событий календаря , пытаюсь найти правильную запись для параметра q , чтобы отфильтровать все события, по которым один из участников определяется по электронная почта (скажем, foo@bar.com)

Я пытался: q = участник. email:foo@bar.com, q = участник. email=foo@bar.com, q = участник. email=foo@bar.com, q = посетители. электронная почта = " foo@bar.com "...

, но без результатов (пустой список после заполнения параметра q )

Поддерживается ли он вообще?

Есть ли список действительных q полей параметров для фильтрации?

1 Ответ

0 голосов
/ 03 февраля 2020

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

Однако вы можете добиться этого с помощью кода. Вы должны перечислить все события, l oop через них и отфильтровать события, если написанное вами электронное письмо совпадает с электронным письмом участников. Например:

function searchEvents() {

  var calendarId = "primary";
  var email = "test@email.com";
  var result = Calendar.Events.list(calendarId).items;

  for (var i = 0; i < result.length; i++){ 

    if (result[i].attendees != undefined){ //Filters out the events without attendees

      for (var j = 0; j < result[i].attendees.length; j++){

        if (result[i].attendees[j].email == email){
          Logger.log(result[i]); //It returns all the event information
        }       

      }

    }
  }

}

Полный возвращенный объект ресурса:

{
  "kind": "calendar#calendarListEntry",
  "etag": etag,
  "id": string,
  "summary": string,
  "description": string,
  "location": string,
  "timeZone": string,
  "summaryOverride": string,
  "colorId": string,
  "backgroundColor": string,
  "foregroundColor": string,
  "hidden": boolean,
  "selected": boolean,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "notificationSettings": {
    "notifications": [
      {
        "type": string,
        "method": string
      }
    ]
  },
  "primary": boolean,
  "deleted": boolean,
  "conferenceProperties": {
    "allowedConferenceSolutionTypes": [
      string
    ]
  }
}

ССЫЛКИ:

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