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](https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1)
repository.

If libraries don't exist in your application's language, use gRPC or the
[Fleet Engine REST](https://developers.google.com/maps/documentation/mobility/fleet-engine/reference/trips/rest.md.txt) endpoints.

> [!NOTE]
> **Note:** Google Cloud Client Libraries are intended to run in trusted server environments. JWTs are unnecessary. Use [Application Default
> Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc) along with the appropriate `ondemandAdmin` role.

## Java

Java libraries are published to public Maven repositories as
[`com.google.maps:google-maps-fleetengine`](https://central.sonatype.com/artifact/com.google.maps/google-maps-fleetengine).

### Gradle

```java
dependencies {
  implementation 'com.google.maps:google-maps-fleetengine:latest.release'
}
```

### Maven

```java
<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](https://developers.google.com/maps/documentation/mobility/fleet-engine/essentials/vehicles/on-demand-create-vehicle.md.txt#vehicle_creation_example) 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](https://github.com/googlemaps/java-fleetengine-auth).

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.)

> [!IMPORTANT]
> **Important:** Google highly recommends using the Fleet Engine Authentication Library with all Java implementations.

## Node.js / TypeScript

See <https://www.npmjs.com/package/@googlemaps/fleetengine>

### npm

```bash
npm install @googlemaps/fleetengine
```

## Go

> [!WARNING]
> Experimental Library

The Go library is packaged as a module at
<https://pkg.go.dev/cloud.google.com/go/maps>

## Python

> [!WARNING]
> Experimental Library

See <https://pypi.org/project/google-maps-fleetengine/0.1.0/>

### pip

```bash
pip install google-auth
pip install google-maps-fleetengine
```

## C#

> [!WARNING]
> Experimental Library

Installation instructions for the C# library can be found at
<https://www.nuget.org/packages/Google.Maps.FleetEngine.V1>.

## PHP

> [!WARNING]
> Experimental Library

See <https://packagist.org/packages/google/maps-fleetengine>.

## Ruby

> [!WARNING]
> Experimental Library

See <https://rubygems.org/gems/google-maps-fleet_engine>.