Google Calendar quickstart.py无法获取未来10个事件的调试咨询
调试Google Calendar API获取未来事件问题的步骤
核对API调用参数
检查events().list方法的关键参数是否正确:events = service.events().list(calendarId='primary', timeMin=datetime.utcnow().isoformat() + 'Z', maxResults=10, singleEvents=True, orderBy='startTime').execute()重点确认:
timeMin是否为UTC时间的RFC3339格式(必须带Z后缀)maxResults是否设为10singleEvents是否为True(确保重复事件展开为单个实例)calendarId是否为目标日历的ID(默认primary对应主日历)
验证授权权限
确认授权范围包含https://www.googleapis.com/auth/calendar.readonly,如果之前授权时请求的范围不足,删除本地的token.json文件,重新运行授权流程。查看原始API响应
在代码中添加打印语句,输出API返回的完整响应:response = service.events().list(...).execute() print(response)如果
items字段为空,说明目标日历在timeMin设定的时间范围内没有事件;如果包含error字段,根据错误代码和提示排查(比如权限错误、参数无效等)。检查日历ID正确性
如果你的事件不在主日历,需要替换为对应日历的ID:- 打开Google Calendar网页版
- 点击目标日历右侧的三个点 → 设置和共享
- 在“集成日历”部分找到日历ID,替换代码中的
calendarId值
测试API调用有效性
使用Google API测试工具,手动构造events.list请求,传入相同参数,确认是否能返回预期事件,以此排除代码逻辑问题。确认token有效性
如果token.json文件过期或损坏,会导致请求失败。删除该文件后重新运行脚本,完成授权流程获取新的token。排查网络问题
确保你的网络可以正常访问Google API服务器,避免防火墙、代理等拦截请求。添加异常捕获
给API调用添加异常处理,捕获并打印错误信息:from googleapiclient.errors import HttpError try: events = service.events().list(...).execute() except HttpError as error: print(f"API请求出错: {error}")
内容的提问来源于stack exchange,提问作者Ooker
相关产品推荐
相关产品推荐

