簡體   English   中英

如何按與會者 email 過濾谷歌日歷 REST API 事件

[英]How to filter google calendar REST API events by attendee's email

我正在訪問Google Calendar REST API 以獲取 Calendar Events ,試圖找出q參數的正確表示法,以過濾其中一名與會者被 email 標識的所有事件(比方說 foo@bar.com)

我試過:q=attendee.email:foo@bar.com,q=attendee.email=foo@bar.com,q=attendees.email=foo@bar.com,q=attendees.email="foo@ bar.com”...

但沒有結果(空列表,一旦q參數被填充)

完全支持嗎?

是否有要過濾的有效q參數字段列表?

您不能使用任何日歷 API 調用直接搜索與會者。

但是,您可以通過代碼實現這一點。 如果您編寫的電子郵件與與會者中的電子郵件一致,您必須列出所有事件,循環遍歷它們並過濾事件。 例如:

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
    ]
  }
}

參考:

“q”參數的工作方式類似於事件列表中的文本搜索。

自由文本搜索詞可在以下字段中查找與這些詞匹配的事件:摘要、描述、位置、與會者的顯示名稱、與會者的 email。可選。

可以搜索指定 email 的事件:

 calendar.events.list( { q: 'attendee@email.test', calendarId: 'primary', timeMin: new Date().toISOString(), maxResults: 10, singleEvents: true, orderBy: 'startTime', }

它應該返回指定“attendee@email.test”的事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM