Add _metadata.get_project_id.
diff --git a/google/auth/_default.py b/google/auth/_default.py
index 74b96b3..356780b 100644
--- a/google/auth/_default.py
+++ b/google/auth/_default.py
@@ -172,7 +172,7 @@
     if _metadata.ping(request=request):
         # Get the project ID.
         try:
-            project_id = _metadata.get(request, 'project/project-id')
+            project_id = _metadata.get_project_id(request=request)
         except exceptions.TransportError:
             _LOGGER.warning(
                 'No project ID could be determined from the Compute Engine '
diff --git a/google/auth/compute_engine/_metadata.py b/google/auth/compute_engine/_metadata.py
index 6d13a54..a107015 100644
--- a/google/auth/compute_engine/_metadata.py
+++ b/google/auth/compute_engine/_metadata.py
@@ -128,6 +128,23 @@
                 url, response.status, response.data), response)
 
 
+def get_project_id(request):
+    """Get the Google Cloud Project ID from the metadata server.
+
+    Args:
+        request (google.auth.transport.Request): A callable used to make
+            HTTP requests.
+
+    Returns:
+        str: The project ID
+
+    Raises:
+        google.auth.exceptions.TransportError: if an error occurred while
+            retrieving metadata.
+    """
+    return get(request, 'project/project-id')
+
+
 def get_service_account_info(request, service_account='default'):
     """Get information about a service account from the metadata server.