CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-google-api-client--google-api-client

The Google APIs Client Library for Java is a flexible, efficient, and powerful Java client library for accessing any HTTP-based API on the web, not just Google APIs.

Pending
Overview
Eval results
Files

http-transport.mddocs/

HTTP Transport

The Google API Client provides HTTP transport implementations with SSL/TLS support and mutual TLS (mTLS) capabilities for secure communication with Google APIs.

Core Imports

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.googleapis.apache.v2.GoogleApacheHttpTransport;
import com.google.api.client.googleapis.mtls.MtlsProvider;
import com.google.api.client.http.HttpTransport;

Java.net HTTP Transport

GoogleNetHttpTransport

Thread-safe factory for creating NetHttpTransport instances configured for Google APIs.

public final class GoogleNetHttpTransport {
    public static NetHttpTransport newTrustedTransport() 
        throws GeneralSecurityException, IOException;
    
    @Beta
    public static NetHttpTransport newTrustedTransport(MtlsProvider mtlsProvider)
        throws GeneralSecurityException, IOException;
}

Usage Example:

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;

// Create a trusted transport with Google's certificate trust store
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();

// Use with mTLS provider (Beta)
MtlsProvider mtlsProvider = // ... configure mTLS provider
HttpTransport mtlsTransport = GoogleNetHttpTransport.newTrustedTransport(mtlsProvider);

Apache HTTP Transport

GoogleApacheHttpTransport

Utilities for Google APIs based on ApacheHttpTransport.

public final class GoogleApacheHttpTransport {
    public static ApacheHttpTransport newTrustedTransport()
        throws GeneralSecurityException, IOException;
    
    @Beta
    public static ApacheHttpTransport newTrustedTransport(MtlsProvider mtlsProvider)
        throws GeneralSecurityException, IOException;
}

Usage Example:

import com.google.api.client.googleapis.apache.v2.GoogleApacheHttpTransport;
import com.google.api.client.http.apache.v2.ApacheHttpTransport;

// Create Apache-based transport
ApacheHttpTransport transport = GoogleApacheHttpTransport.newTrustedTransport();

// Use with custom mTLS configuration
MtlsProvider mtlsProvider = // ... configure mTLS provider  
ApacheHttpTransport mtlsTransport = GoogleApacheHttpTransport.newTrustedTransport(mtlsProvider);

Mutual TLS (mTLS) Support

MtlsProvider

Interface for providing mutual TLS configuration.

@Beta
public interface MtlsProvider {
    boolean useMtlsClientCertificate();
    String getKeyStorePassword();
    KeyStore getKeyStore() throws IOException, GeneralSecurityException;
}

MtlsUtils

Utility class for providing the default mutual TLS provider.

@Beta
public class MtlsUtils {
    public static MtlsProvider getDefaultMtlsProvider();
}

Usage Example:

import com.google.api.client.googleapis.mtls.MtlsUtils;
import com.google.api.client.googleapis.mtls.MtlsProvider;

// Get the default mTLS provider
MtlsProvider provider = MtlsUtils.getDefaultMtlsProvider();

// Check if mTLS should be used via the provider
if (provider.useMtlsClientCertificate()) {
    HttpTransport transport = GoogleNetHttpTransport.newTrustedTransport(provider);
}

ContextAwareMetadataJson

Represents context-aware metadata for mTLS configuration.

public class ContextAwareMetadataJson extends GenericJson {
    public List<LibraryInfo> getLibs();
    public void setLibs(List<LibraryInfo> libs);
    
    public static class LibraryInfo extends GenericJson {
        public String getName();
        public void setName(String name);
        public String getVersion(); 
        public void setVersion(String version);
    }
}

Method Override Support

MethodOverride

HTTP request interceptor for overriding HTTP methods using the X-HTTP-Method-Override header.

public final class MethodOverride implements HttpRequestInitializer, HttpExecuteInterceptor {
    public static final String HEADER = "X-HTTP-Method-Override";
    
    public MethodOverride();
    
    public void initialize(HttpRequest request) throws IOException;
    public void intercept(HttpRequest request) throws IOException;
    
    public static final class Builder {
        public MethodOverride build();
        public boolean getOverrideAllMethods();
        public Builder setOverrideAllMethods(boolean overrideAllMethods);
    }
}

Usage Example:

import com.google.api.client.googleapis.MethodOverride;
import com.google.api.client.http.HttpRequestInitializer;

// Create method override interceptor
MethodOverride methodOverride = new MethodOverride();

// Or with builder for custom configuration
MethodOverride customOverride = new MethodOverride.Builder()
    .setOverrideAllMethods(true)
    .build();

// Use as request initializer
HttpRequestInitializer requestInitializer = methodOverride;

Types

HttpTransport

Base interface for HTTP transport implementations (from google-http-client library).

NetHttpTransport

Java.net-based HTTP transport implementation.

ApacheHttpTransport

Apache HttpClient-based HTTP transport implementation.

KeyStore

Java security KeyStore for certificate management.

GeneralSecurityException

Exception thrown for general security-related errors.

IOException

Exception thrown for I/O-related errors.

Install with Tessl CLI

npx tessl i tessl/maven-com-google-api-client--google-api-client

docs

batch-operations.md

client-services.md

http-transport.md

index.md

json-error-handling.md

media-operations.md

oauth2-auth.md

utilities.md

tile.json