All errors follow a standardized format:
{
status: "error",
error: string, // Human-readable error message
resolution: string // Suggested steps to resolve the error
}
- Description: The requested Google API service is not supported
- Possible Causes:
- Service name is misspelled
- Service is not implemented in the server
- Resolution: Check supported services in API documentation
- Description: The requested API method is not supported
- Possible Causes:
- Method name is misspelled
- Method is not implemented for the service
- Resolution: Verify method name in API documentation
- Description: Malformed API endpoint format
- Possible Causes:
- Incorrect endpoint format
- Missing service or method parts
- Resolution: Use format "service.method" (e.g., "drive.files.list")
- Description: Required parameters are missing from the request
- Possible Causes:
- Required parameters not provided
- Parameters misspelled
- Resolution: Check required parameters in API documentation
- Description: Parameter value type doesn't match expected type
- Possible Causes:
- Wrong data type provided
- Array provided instead of string or vice versa
- Resolution: Verify parameter types in API documentation
- Description: OAuth token has expired
- Possible Causes:
- Token age exceeds expiration time
- Token invalidated by user
- Resolution: Server will automatically refresh token, retry request
- Description: OAuth token is invalid
- Possible Causes:
- Token revoked
- Token malformed
- Resolution: Please authenticate the account, which will grant all necessary permissions
- Description: Account needs authentication
- Possible Causes:
- Account not authenticated
- New permissions needed
- Resolution: Please authenticate the account, which will grant all necessary permissions
- Description: Bad Request
- Possible Causes:
- Invalid request parameters
- Malformed request body
- Resolution: Check request format and parameters
- Description: Unauthorized
- Possible Causes:
- Invalid credentials
- Token expired
- Resolution: Check authentication status
- Description: Forbidden
- Possible Causes:
- Insufficient permissions
- Account restrictions
- Resolution: Please authenticate the account, which will grant all necessary permissions
- Description: Resource Not Found
- Possible Causes:
- Invalid resource ID
- Resource deleted
- Resolution: Verify resource exists
- Description: Rate Limit Exceeded
- Possible Causes:
- Too many requests
- Quota exceeded
- Resolution: Implement exponential backoff
- Description: Internal Server Error
- Possible Causes:
- Google API error
- Server-side issue
- Resolution: Retry request later
- Description: Service Unavailable
- Possible Causes:
- Google API maintenance
- Temporary outage
- Resolution: Retry request later
- Description: Failed to initialize Google service
- Possible Causes:
- Configuration issues
- Network problems
- Resolution: Check server configuration
- Description: Network communication failed
- Possible Causes:
- Connection issues
- Timeout
- Resolution: Check network connection and retry
-
Always Check Status
- Verify response status before processing
- Handle both success and error cases
-
Implement Retry Logic
- Retry on transient errors (429, 500, 503)
- Use exponential backoff
- Set maximum retry attempts
-
Handle Authentication Flows
- Watch for token expiration
- Handle refresh token flow
- Re-authenticate when needed
-
Log Errors Appropriately
- Include error codes and messages
- Log stack traces for debugging
- Don't log sensitive information
-
User Communication
- Provide clear, user-friendly error messages
- Include simple resolution steps
- Avoid technical jargon in user-facing messages
- Offer support contact if needed
try {
const response = await makeRequest();
if (response.status === "error") {
// Handle error based on type
switch (response.error) {
case "TOKEN_EXPIRED":
// Handle token refresh
break;
case "INVALID_PARAM_TYPE":
// Fix parameters and retry
break;
// ... handle other cases
}
}
} catch (error) {
// Handle unexpected errors
console.error("Request failed:", error);
}