diff --git a/docs/start.md b/docs/start.md
index ceac5dd..5efdcad 100644
--- a/docs/start.md
+++ b/docs/start.md
@@ -94,7 +94,10 @@
 Creating a request does not actually call the API. To execute the request and get a response, call the `execute()` function:
 
 ```python
-response = request.execute()
+try:
+    response = request.execute()
+except HttpError as e:
+    print('Error response status code : {0}, reason : {1}'.format(e.resp.status, e.error_details))
 ```
 
 Alternatively, you can combine previous steps on a single line:
diff --git a/googleapiclient/errors.py b/googleapiclient/errors.py
index 2f7b112..c9e884e 100644
--- a/googleapiclient/errors.py
+++ b/googleapiclient/errors.py
@@ -51,10 +51,9 @@
             data = json.loads(self.content.decode("utf-8"))
             if isinstance(data, dict):
                 reason = data["error"]["message"]
-                if "details" in data["error"]:
-                    self.error_details = data["error"]["details"]
-                elif "detail" in data["error"]:
-                    self.error_details = data["error"]["detail"]
+                error_detail_keyword = next((kw for kw in ["detail", "details", "message"] if kw in data["error"]), "")
+                if error_detail_keyword:
+                    self.error_details = data["error"][error_detail_keyword]
             elif isinstance(data, list) and len(data) > 0:
                 first_error = data[0]
                 reason = first_error["error"]["message"]
diff --git a/tests/test_errors.py b/tests/test_errors.py
index b0d1e43..8b99532 100644
--- a/tests/test_errors.py
+++ b/tests/test_errors.py
@@ -47,6 +47,24 @@
 }
 """
 
+JSON_ERROR_CONTENT_NO_DETAIL = b"""
+{
+ "error": {
+  "errors": [
+   {
+    "domain": "global",
+    "reason": "required",
+    "message": "country is required",
+    "locationType": "parameter",
+    "location": "country"
+   }
+  ],
+  "code": 400,
+  "message": "country is required"
+ }
+}
+"""
+
 
 def fake_response(data, headers, reason="Ok"):
     response = httplib2.Response(headers)
@@ -112,3 +130,14 @@
         resp, content = fake_response(b"}NOT OK", {"status": "400"}, reason=None)
         error = HttpError(resp, content)
         self.assertEqual(str(error), '<HttpError 400 "">')
+
+    def test_error_detail_for_missing_message_in_error(self):
+        """Test handling of data with missing 'details' or 'detail' element."""
+        resp, content = fake_response(
+            JSON_ERROR_CONTENT_NO_DETAIL,
+            {"status": "400", "content-type": "application/json"},
+            reason="Failed",
+        )
+        error = HttpError(resp, content)
+        self.assertEqual(str(error), '<HttpError 400 when requesting None returned "country is required". Details: "country is required">')
+        self.assertEqual(error.error_details, 'country is required')
diff --git a/tests/test_http.py b/tests/test_http.py
index 00db06e..5293a6a 100644
--- a/tests/test_http.py
+++ b/tests/test_http.py
@@ -1567,7 +1567,8 @@
         expected = (
             "<HttpError 403 when requesting "
             "https://www.googleapis.com/someapi/v1/collection/?foo=bar returned "
-            '"Access Not Configured">'
+            '"Access Not Configured". '
+            'Details: "Access Not Configured">'
         )
         self.assertEqual(expected, str(callbacks.exceptions["2"]))
 
