【发布时间】:2021-05-21 05:12:10
【问题描述】:
我迷失在 Google Sheets API 的错误处理中。
Sheets API reference page 没有提供任何错误处理示例。
这个SO question 指向一个文档页面:
Drive API 返回两级错误信息:
HTTP error codes and messages in the header.响应正文中的 JSON 对象,其中包含可帮助您确定如何处理错误的其他详细信息。
云端硬盘应用应捕获并处理使用 REST > API 时可能遇到的所有错误。本指南提供有关如何解决特定 API 错误的说明。
然后列出404的json响应示例
但是,当我使用不存在的电子表格 ID 运行以下代码时(它在正确的电子表格 ID 上运行良好):
request = service.spreadsheets().get(
spreadsheetId=spreadsheet_id,
ranges=ranges,
)
response = request.execute()
我收到一个异常,而不是 json 响应中的错误:
File ".../lib/python3.8/site-packages/googleapiclient/http.py", line 915, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://sheets.googleapis.com/v4/spreadsheets/1Z2aQvO122lBxHyditlDT6KhSAqkiUeX8zqJ4ysIJHd?alt=json returned "Requested entity was not found.". Details: "Requested entity was not found.">
如果不解析字符串,我什至无法提取错误代码。
所以,问题是:如何正确处理工作表 api 错误?我想我更愿意始终获取 json 并捕获真正技术错误的异常,例如连接不良等。
提前致谢!
【问题讨论】:
-
你得到一个异常引发并且异常结构包含 json
标签: python google-api google-drive-api google-sheets-api google-api-python-client