AI-generated Key Takeaways
-
For server-to-server communication, Google recommends using their language-specific client libraries, which are based on protobuf files found on GitHub.
-
If a client library isn't available in your language, utilize gRPC or the Fleet Engine REST endpoints.
-
Google Cloud Client Libraries are designed for trusted server environments and should be used with Application Default Credentials and the
ondemandAdmin
role; JWTs are not needed in this context. -
The Fleet Engine Authentication Library simplifies the creation and signing of JWTs for securing Fleet Engine API access in untrusted environments, particularly recommended for Java implementations.
-
Libraries for various languages like Java, Node.js, Go, Python, C#, PHP, and Ruby are available with instructions and links for installation provided.
For a better experience than developing over raw REST or gRPC for server-to-server communication, use Google's language-specific client libraries. Get the protobuf files these clients are based on by visiting the GitHub repository.
If libraries don't exist in your application's language, use gRPC or the Fleet Engine REST endpoints.
Java
Java libraries are published to public Maven repositories as
com.google.maps:google-maps-fleetengine
.
Gradle
dependencies {
implementation 'com.google.maps:google-maps-fleetengine:latest.release'
}
Maven
<project>
<dependency>
<groupId>com.google.maps</groupId>
<artifactId>google-maps-fleetengine</artifactId>
<version>LATEST</version>
</dependency>
</project>
See Java examples for interacting with the Fleet Engine API on the Getting started with Fleet Engine page.
Fleet Engine Authentication Library
You can use the Fleet Engine Authentication Library to create signed JSON web tokens in the Java environment. Fleet Engine uses JWTs to restrict access to Fleet Engine APIs in untrusted environments. The Fleet Engine Authentication Library simplifies construction of Fleet Engine JWTs in Java and securely signs them. For details, see Fleet Engine Authentication Library for Java.
The library provides the following benefits:
- Simplifies the process of creating Fleet Engine Tokens.
- Provides token signing mechanisms other than using credential files (such as impersonating a service account.)
Node.js / TypeScript
See https://www.npmjs.com/package/@googlemaps/fleetengine
npm
npm install @googlemaps/fleetengine
Go
The Go library is packaged as a module at https://pkg.go.dev/cloud.google.com/go/maps
Python
See https://pypi.org/project/google-maps-fleetengine/0.1.0/
pip
pip install google-auth
pip install google-maps-fleetengine
C#
Installation instructions for the C# library can be found at https://www.nuget.org/packages/Google.Maps.FleetEngine.V1.
PHP
See https://packagist.org/packages/google/maps-fleetengine.
Ruby
See https://rubygems.org/gems/google-maps-fleet_engine.