Để giao tiếp (đáng tin cậy) từ máy chủ đến máy chủ, bạn nên sử dụng thư viện ứng dụng GAPI dành riêng cho ngôn ngữ để có trải nghiệm tốt hơn so với việc phát triển trên REST hoặc gRPC thô. Các tệp protobuf mà các ứng dụng này dựa trên được cung cấp công khai tại https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1.
Nếu các thư viện không tồn tại bằng ngôn ngữ của ứng dụng, bạn nên sử dụng các điểm cuối gRPC hoặc Fleet Engine REST.
LƯU Ý: Thư viện GAPIC được dành để chạy trong các môi trường (máy chủ) đáng tin cậy.
JWT là không cần thiết. Sử dụng Thông tin xác thực mặc định của ứng dụng cùng với vai trò ondemandAdmin
thích hợp.
Java
Thư viện Java được phát hành trong google.maps.fleetengine.v1
.
Gradle
plugins {
id "maven-publish"
id "com.google.cloud.artifactregistry.gradle-plugin" version "2.1.4"
}
publishing {
repositories {
maven {
url "artifactregistry://us-maven.pkg.dev/fleetengine-gapic/maven"
}
}
}
repositories {
maven {
url "artifactregistry://us-maven.pkg.dev/fleetengine-gapic/maven"
}
}
dependencies {
implementation 'com.google.maps:gapic-google-maps-fleetengine-v1-java:latest.release'
}
Maven
<project>
<distributionManagement>
<snapshotRepository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/fleetengine-gapic/maven</url>
</snapshotRepository>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/fleetengine-gapic/maven</url>
</repository>
</distributionManagement>
<repositories>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/fleetengine-gapic/maven</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<build>
<extensions>
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.1.4</version>
</extension>
</extensions>
</build>
<dependency>
<groupId>com.google.maps</groupId>
<artifactId>gapic-google-maps-fleetengine-v1-java</artifactId>
<version>LATEST</version>
</dependency>
</project>
Bạn có thể dùng Thư viện xác thực Fleet Engine cho Java để tạo mã thông báo web JSON đã ký trong môi trường Java.
Bạn có thể xem các ví dụ Java về cách tương tác với API Fleet Engine trên trang Bắt đầu sử dụng Fleet Engine.
Node.js / TypeScript
Xem https://www.npmjs.com/package/@googlemaps/fleetengine
bước/phút
npm install @googlemaps/fleetengine
Go
Thư viện Go được đóng gói dưới dạng một mô-đun tại https://pkg.go.dev/maps/fleetengine/v1
package main
import (
"context"
"fmt"
"log"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
fleetengine "google.golang.org/maps/fleetengine/v1"
pb "google.golang.org/genproto/googleapis/maps/fleetengine/v1"
)
func main() {
// Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to point to a credential configuration file.
// https://cloud.google.com/docs/authentication/application-default-credentials#GAC
provider := "cabrio-1501793433270"
ctx := context.Background()
vc, err := fleetengine.NewVehicleClient(ctx,
option.WithQuotaProject(provider),
option.WithScopes("https://www.googleapis.com/auth/cloud-platform"),
)
if err != nil {
log.Fatalf("Couldn't connect: %v", err)
}
i := vc.ListVehicles(ctx, &pb.ListVehiclesRequest{
// NB: PageSize determines how many resources each call to the underlying
// List method returns, not how many values the Iterator will go through.
// The Iterator will continue making List calls until it exhausts
// `nextPageToken`.
PageSize: 10,
Parent: "providers/" + provider,
})
for {
v, err := i.Next()
if err == iterator.Done {
break
}
if err != nil {
log.Fatalf("Couldn't connect: %v", err)
}
fmt.Println(v)
}
}
Python
Xem https://pypi.org/project/google-maps-fleetengine/0.1.0/
pip
pip install google-auth
pip install google-maps-fleetengine
Mã mẫu:
from google.maps import fleetengine_v1
import google.auth
from google.auth import jwt, iam
from google.auth.transport import requests
# CONSTANTS
PROJECT_ID = 'YOUR_GCP_PROJECT_NAME'
VEHICLE_ID = 'YOUR_VEHICLE_ID'
SERVICE_ACCOUNT = f'YOUR_SERVICE_ACCOUNT@{PROJECT_ID}.iam.gserviceaccount.com'
# CREATE A JWT FOR AUTHENTICATION
credentials, _ = google.auth.default(scopes=['https://www.googleapis.com/auth/iam'])
signer = iam.Signer(requests.Request(), credentials, SERVICE_ACCOUNT)
jwt_credentials = jwt.Credentials(
signer,
issuer=SERVICE_ACCOUNT,
subject=SERVICE_ACCOUNT,
audience='https://fleetengine.googleapis.com/',
additional_claims={
"authorization": {
"vehicleid" : VEHICLE_ID
}
}
)
# MAKE A REQUEST
maps_fleetengine_client = fleetengine_v1.VehicleServiceClient(credentials=jwt_credentials)
request = fleetengine_v1.GetVehicleRequest(name=f'providers/{PROJECT_ID}/vehicles/{VEHICLE_ID}')
response = maps_fleetengine_client.get_vehicle(request=request)
C#
Bạn có thể tìm thấy hướng dẫn cài đặt cho thư viện C# tại https://www.nuget.org/packages/Google.Maps.FleetEngine.V1.
1.199
Xem https://packagist.org/packages/google/maps-fleetengine.