fix: handle error on service not enabled (#1117)
Fixes #1116 🦕
Don't throw invalid JSON messages for valid JSON.
diff --git a/googleapiclient/http.py b/googleapiclient/http.py
index 0046774..b8e1b8e 100644
--- a/googleapiclient/http.py
+++ b/googleapiclient/http.py
@@ -116,7 +116,9 @@
try:
data = json.loads(content.decode("utf-8"))
if isinstance(data, dict):
- reason = data["error"]["errors"][0]["reason"]
+ reason = data["error"].get("status")
+ if reason is None:
+ reason = data["error"]["errors"][0]["reason"]
else:
reason = data[0]["error"]["errors"]["reason"]
except (UnicodeDecodeError, ValueError, KeyError):