Skip to content

googleapis/google-api-java-client-services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Google Java API Client Services

This repository contains the generated source for individual APIs that utilize Google APIs Client Library for Java. We recommend using the Google Auth Library for Java for handling authentication.

Requirements

Supported Google APIs

You can find the list of available APIs below or you can find the published packages on Maven Central.

API Versions
AI Platform Training & Prediction API v1
API Discovery Service v1
API Gateway API v1, v1beta
API Keys API v2
Abusive Experience Report API v1
Accelerated Mobile Pages (AMP) URL API v1
Access Approval API v1
Access Context Manager API v1, v1beta
Ad Exchange Buyer API II v2beta1
Ad Experience Report API v1
AdMob API v1, v1beta
AdSense Host API v4.1
AdSense Management API v2
Admin SDK API datatransfer_v1, directory_v1, reports_v1
Analytics Reporting API v4
Android Device Provisioning Partner API v1
Android Management API v1
Apigee API v1
App Engine Admin API v1, v1alpha, v1beta
Apps Script API v1
Area120 Tables API v1alpha1
Artifact Registry API v1, v1beta1, v1beta2
Assured Workloads API v1
Authorized Buyers Marketplace API v1
Bare Metal Solution API v1
BigQuery API v2
BigQuery Connection API v1beta1
BigQuery Data Transfer API v1
BigQuery Reservation API v1, v1beta1
Binary Authorization API v1, v1beta1
Blogger API v3 v2, v3
Books API v1
Calendar API v3
Campaign Manager 360 API v3.3, v3.4, v3.5
Certificate Authority API v1, v1beta1
Chrome Management API v1
Chrome Policy API v1
Chrome UX Report API v1
Chrome Verified Access API v1
Cloud Asset API v1, v1beta1, v1p1beta1, v1p4beta1, v1p5beta1, v1p7beta1
Cloud Bigtable Admin API v1, v2
Cloud Billing API v1
Cloud Billing Budget API v1, v1beta1
Cloud Build API v1, v1alpha1, v1alpha2, v1beta1
Cloud Channel API v1
Cloud Composer API v1, v1beta1
Cloud DNS API v1, v1beta2
Cloud Data Fusion API v1, v1beta1
Cloud Data Loss Prevention (DLP) API v2
Cloud Dataproc API v1
Cloud Datastore API v1, v1beta1, v1beta3
Cloud Debugger API v2
Cloud Deployment Manager V2 API alpha, v2, v2beta
Cloud Document AI API v1, v1beta2, v1beta3
Cloud Domains API v1, v1alpha2, v1beta1
Cloud Filestore API v1, v1beta1
Cloud Firestore API v1, v1beta1, v1beta2
Cloud Functions API v1
Cloud Healthcare API v1, v1beta1
Cloud Identity API v1, v1beta1
Cloud Identity-Aware Proxy API v1, v1beta1
Cloud IoT API v1
Cloud Key Management Service (KMS) API v1
Cloud Life Sciences API v2beta
Cloud Logging API v2
Cloud Memorystore for Memcached API v1, v1beta2
Cloud Monitoring API v1, v3
Cloud Natural Language API v1, v1beta1, v1beta2
Cloud OS Login API v1, v1alpha, v1beta
Cloud Pub/Sub API v1, v1beta1a, v1beta2
Cloud Resource Manager API v1, v1beta1, v2, v2beta1, v3
Cloud Run Admin API v1, v1alpha1, v2
Cloud Runtime Configuration API v1, v1beta1
Cloud SQL Admin API v1, v1beta4
Cloud Scheduler API v1, v1beta1
Cloud Search API v1
Cloud Shell API v1
Cloud Source Repositories API v1
Cloud Spanner API v1
Cloud Speech-to-Text API v1, v1p1beta1, v2beta1
Cloud Storage JSON API v1
Cloud Storage for Firebase API v1beta
Cloud TPU API v1, v1alpha1, v2alpha1
Cloud Talent Solution API v3, v3p1beta1, v4
Cloud Tasks API v2, v2beta2, v2beta3
Cloud Testing API v1
Cloud Text-to-Speech API v1, v1beta1
Cloud Tool Results API v1beta3
Cloud Trace API v1, v2, v2beta1
Cloud Translation API v3, v3beta1
Cloud Video Intelligence API v1, v1beta2, v1p1beta1, v1p2beta1, v1p3beta1
Cloud Vision API v1, v1p1beta1, v1p2beta1
Compute Engine API alpha, beta, v1
Connectors API v1
Contact Center AI Insights API v1
Container Analysis API v1, v1alpha1, v1beta1
Content API for Shopping v2, v2.1
Custom Search API v1
Data Labeling API v1beta1
Data pipelines API v1
Database Migration API v1, v1beta1
Dataflow API v1b3
Dataproc Metastore API v1alpha, v1beta
Datastream API v1, v1alpha1
Dialogflow API v2, v2beta1, v3, v3beta1
Digital Asset Links API v1
Display & Video 360 API v1
Domains RDAP API v1
DoubleClick Bid Manager API v1.1
Drive API v2, v3
Drive Activity API v2
Enterprise License Manager API v1
Error Reporting API v1beta1
Essential Contacts API v1
Eventarc API v1, v1beta1
Fact Check Tools API v1alpha1
Firebase App Check API v1beta
Firebase Cloud Messaging API v1
Firebase Cloud Messaging Data API v1beta1
Firebase Dynamic Links API v1
Firebase Hosting API v1, v1beta1
Firebase ML API v1, v1beta2
Firebase Management API v1beta1
Firebase Realtime Database Management API v1beta
Firebase Rules API v1
Fitness API v1
GKE Hub API v1, v1alpha, v1alpha2, v1beta, v1beta1
Game Services API v1, v1beta
Genomics API v2alpha1
Gmail API v1
Gmail Postmaster Tools API v1, v1beta1
Google Analytics API v3
Google Analytics Admin API v1alpha
Google Analytics Data API v1beta
Google Chat API v1
Google Civic Information API v2
Google Classroom API v1
Google Cloud Data Catalog API v1, v1beta1
Google Cloud Deploy API v1
Google Cloud Memorystore for Redis API v1, v1beta1
Google Cloud Support API v2beta
Google Cloud Translation API v2
Google Docs API v1
Google Identity Toolkit API v3
Google Keep API v1
Google OAuth2 API v2
Google Play Android Developer API v3
Google Play Custom App Publishing API v1
Google Play EMM API v1
Google Play Game Management v1management
Google Play Game Services v1
Google Play Game Services Publishing API v1configuration
Google Search Console API v1
Google Sheets API v4
Google Site Verification API v1
Google Slides API v1
Google Vault API v1
Google Workspace Alert Center API v1beta1
Google Workspace Reseller API v1
Groups Migration API v1
Groups Settings API v1
HomeGraph API v1
IAM Service Account Credentials API v1
Idea Hub API v1alpha, v1beta
Identity and Access Management (IAM) API v1
Indexing API v3
Knowledge Graph Search API v1
Kubernetes Engine API v1, v1beta1
Library Agent API v1
Local Services API v1
Managed Service for Microsoft Active Directory API v1, v1alpha1, v1beta1
Manufacturer Center API v1
My Business Account Management API v1
My Business Business Information API v1
My Business Lodging API v1
My Business Notifications API v1
My Business Place Actions API v1
My Business Q&A API v1
My Business Verifications API v1
Network Connectivity API v1, v1alpha1
Network Management API v1, v1beta1
Network Security API v1, v1beta1
Network Services API v1, v1beta1
Notebooks API v1
OS Config API v1, v1alpha, v1beta
On-Demand Scanning API v1, v1beta1
Organization Policy API v2
PageSpeed Insights API v5
Payments Reseller Subscription API v1
People API v1
Policy Analyzer API v1, v1beta1
Policy Simulator API v1, v1beta1
Policy Troubleshooter API v1, v1beta
Poly API v1
Pub/Sub Lite API v1
Real-time Bidding API v1, v1alpha
Recommendations AI (Beta) v1beta1
Recommender API v1, v1beta1
Resource Settings API v1
Retail API v2, v2alpha, v2beta
SAS Portal API v1alpha1
SAS Portal API (Testing) v1alpha1
Safe Browsing API v4
Search Ads 360 API v2
Secret Manager API v1, v1beta1
Security Command Center API v1, v1beta1, v1beta2
Security Token Service API v1, v1beta
Service Consumer Management API v1, v1beta1
Service Control API v1, v2
Service Directory API v1, v1beta1
Service Management API v1
Service Networking API v1, v1beta
Service Usage API v1, v1beta1
Smart Device Management API v1
Stackdriver Profiler API v2
Storage Transfer API v1
Street View Publish API v1
Tag Manager API v1, v2
Tasks API v1
Traffic Director API v2
Transcoder API v1, v1beta1
VM Migration API v1, v1alpha1
Version History API v1
Web Fonts Developer API v1
Web Risk API v1
Web Security Scanner API v1, v1alpha, v1beta
Workflow Executions API v1, v1beta
Workflows API v1, v1beta
YouTube Analytics API v2
YouTube Data API v3 v3
YouTube Reporting API v1
reCAPTCHA Enterprise API v1

Authentication

google-api-java recommends using the google-auth-library-java library to authenticate HTTPS requests. google-auth-library-java supports a wide range of authentication types; see the project's README for how to use credentials with google-http-client and javadoc for more details.

How the code is updated and published

When a change is made in the API definitions, the following events happens:

  1. The Discovery documents are maintained within Google (details).
  2. The discovery-artifact-manager repository has update-discoveries job that copies the definition files from https://discovery.googleapis.com/discovery/v1/apis to the repository.
  3. This google-api-java-client-services repository has (codegen workflow). This daily workflow has the following jobs:
    • discovery: It uses the discovery-artifact-manager repository's List discovery services workflow to list the service names. Example values in the returned array include "storage" (from discoveries/storage.v1.json) and "admin" (from discoveries/admin.datatransfer_v1.json).
    • total_service_size_check: This job ensures the size of the service name array does not exceed 300 (00:30 to 02:30 implies 3 batches of size 100); otherwise it fails. As of November 2023, the size of the service name array is 269.
    • batch This job splits the service names into chunks of maximum 100 and returns an array containing the chunks. This is to avoid one job that is too long to finish and also to avoid hitting the maximum parallel job limit of Github actions (256).
    • generate: At the end, this job runs the code generator for each service in the chunk whose array index corresponds to the hour of the day. For details, see codegen.yaml. If there are code changes, this job creates pull requests (Example: #18860).
  4. The yoshi-approver and merge-on-green bots merge the pull requests automatically.
  5. The Kokoro job publishes the libraries in this repository.

Generating the API clients locally

If you want to generate certain code locally for troubleshooting purpose, please follow these steps:

Generating the API clients requires git and Python 3.6.

  1. Install the generator dependencies:

    cd /path/to/google-api-java-client-services/generator
    python -m pip install -r generator_requirements.in
  2. Run the generator:

    This is an example for Admin Directory v1. Note that 2.0.0 corresponds to the latest variant of the generator. Make sure your discovery-artifact-manager repo is up to date. Output doesn't have to be the exact location of the old library.

    python /path/to/google-api-java-client-services/generator/src/googleapis/codegen \
        --input=/path/to/discovery-artifact-manager/discoveries/admin.directory_v1.json \
        --output_dir=/path/to/google-api-java-client-services/clients/google-api-services-admin/directory_v1/2.0.0 \
        --language=java \
        --language_variant=2.0.0 \
        --package_path=api/services