feat: Adds support for errors.py to also use 'errors' for error_details  (#1281)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)

Fixes #1279 🦕
diff --git a/googleapiclient/errors.py b/googleapiclient/errors.py
index 33ee682..332327e 100644
--- a/googleapiclient/errors.py
+++ b/googleapiclient/errors.py
@@ -61,7 +61,7 @@
                 data = self.content.decode("utf-8")
             if isinstance(data, dict):
                 reason = data["error"]["message"]
-                error_detail_keyword = next((kw for kw in ["detail", "details", "message"] if kw in data["error"]), "")
+                error_detail_keyword = next((kw for kw in ["detail", "details", "errors", "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:
diff --git a/tests/test_errors.py b/tests/test_errors.py
index 9c139a6..955526f 100644
--- a/tests/test_errors.py
+++ b/tests/test_errors.py
@@ -141,5 +141,6 @@
             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')
+        expected_error_details = "[{'domain': 'global', 'reason': 'required', 'message': 'country is required', 'locationType': 'parameter', 'location': 'country'}]"
+        self.assertEqual(str(error), '<HttpError 400 when requesting None returned "country is required". Details: "%s">' % expected_error_details)
+        self.assertEqual(str(error.error_details), expected_error_details)
diff --git a/tests/test_http.py b/tests/test_http.py
index 4e61358..bfd9ba8 100644
--- a/tests/test_http.py
+++ b/tests/test_http.py
@@ -1587,7 +1587,7 @@
             "<HttpError 403 when requesting "
             "https://www.googleapis.com/someapi/v1/collection/?foo=bar returned "
             '"Access Not Configured". '
-            'Details: "Access Not Configured">'
+            "Details: \"[{'domain': 'usageLimits', 'reason': 'accessNotConfigured', 'message': 'Access Not Configured', 'debugInfo': 'QuotaState: BLOCKED'}]\">"
         )
         self.assertEqual(expected, str(callbacks.exceptions["2"]))