python - 获取列表事件时如何在 Python 中获取 Google Calendar API status_code?
问题描述
我尝试使用 Google Calendar API
events_result = service.events().list(calendarId=calendarId,
timeMax=now,
alwaysIncludeEmail=True,
maxResults=100, singleEvents=True,
orderBy='startTime').execute()
一切正常,当我有权访问 calendarId 时,如果我没有 calendarId 权限,则会出错。
我使用 schedule python 构建了一个 autoload.py 函数,每 10 分钟加载一次事件,如果出现错误,该函数将停止,我必须使用 SSH 终端手动重新启动 autoload.py 所以我想知道:
如何获取status_code,例如,如果是404,python会PASS
解决方案
回答:
您可以在循环中使用 try/except 块来遍历所有日历,并跳过引发错误的访问。
代码示例:
要获取错误代码,请确保导入json
:
import json
然后您可以从异常中获取错误代码:
calendarIds = ["calendar ID 1", "calendar ID 2", "calendar Id 3", "etc"]
for i in calendarIds:
try:
events_result = service.events().list(calendarId=i,
timeMax=now,
alwaysIncludeEmail=True,
maxResults=100, singleEvents=True,
orderBy='startTime').execute()
except Exception as e:
print(json.loads(e.content)['error']['code'])
continue
延伸阅读:
推荐阅读
- python - 如果字典的值是列表,如何将字典的值相乘或相加
- time-complexity - switch 语句的平均时间复杂度
- javascript - 未调用 componentDidMount,它似乎根本不起作用
- elasticsearch - 建议完成 Elasticsearch 不适用于数字
- airflow - 如何从以前的运行中提取 xcom 变量
- python - 将参数传递给不同类中的装饰器
- delphi - 避免 Windows 进程中的大内存提交大小
- r - R挑战中的while循环
- tensorflow - LSTM 中节点数的影响
- python - 如何编写可与 pandas 方法链接一起使用的 python 函数