[英]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.