我使用Events.get方法获取用户事件。但是,每当我尝试提供所需的fields
时,都会返回错误Invalid field selection creator(displayName,email)
。我列出的字段并不重要,我得到了类似的错误。
我做错了什么?
这是我的python代码: -
request = calendar_service.events().list(calendarId=calendar_id,
syncToken=sync_token,
fields='creator(displayName,email)')
答案 0 :(得分:1)
"Optional query parameters"中未记录参数fields
。这只是示例表单的便利。在获取事件资源后,您需要进行一些后处理。
以下是Calendar API的python
文档。
答案 1 :(得分:1)
fields
查询参数记录在here中。
查询示例:https://www.googleapis.com/calendar/v3/calendars/<calendarId>/events/<eventId>?fields=creator,attendees(email)
答案 2 :(得分:1)
这些先前的答案不再准确。现在在这里深入记录了fields参数:https://developers.google.com/calendar/performance#partial-response。在该页面上:
字段请求参数值的格式大致基于XPath语法。下面总结了受支持的语法,以下部分提供了其他示例。
使用a / b选择嵌套在字段a内的字段b;使用a / b / c选择嵌套在b中的字段c。
异常:对于使用“数据”包装器的API响应,该响应嵌套在看起来像数据的数据对象中:{...},请不要在“字段规范。将数据对象包含在字段规范(例如data / a / b)中会导致错误。相反,只需使用a / b之类的字段规范即可。
使用子选择器通过将表达式放在括号“()”中来请求一组特定的数组或对象子字段。
例如:fields = items(id,author / email)仅返回item数组中每个元素的项目ID和作者的电子邮件。您还可以指定一个子字段,其中fields = items(id)等同于fields = items / id。
如果需要,在字段选择中使用通配符。例如:fields = items / pagemap / *选择页面地图中的所有对象。
答案 3 :(得分:0)
根据文档&#39;字段&#39;参数不存在。请求的响应包含所有信息作为字典对象。
所以如果你打电话:
request = calendar_service.events().list(calendarId=calendar_id,
syncToken=sync_token)
请求包含您需要的一切。您可以通过以下方式获取显示名称:
request['creator']['displayName']