بالنسبة إلى الاتصال من خادم إلى خادم (موثوق به)، ننصح باستخدام مكتبات عملاء GAPI الخاصة بكل لغة للحصول على تجربة أفضل من التطوير باستخدام REST أو gRPC أولي. وتتوفّر ملفات Protobuf التي يستند إليها هؤلاء العملاء بشكل علني على https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1.
في حال عدم توفّر مكتبات بلغة تطبيقك، ننصحك باستخدام نقطة النهاية gRPC أو Fleet Engine REST.
ملاحظة: من المفترض أن يتم تشغيل مكتبات GAPIC في بيئات (خادم) موثوق بها.
رموز JWT غير ضرورية. استخدِم بيانات الاعتماد التلقائية للتطبيق إلى جانب الدور المناسب في ondemandAdmin
.
Java
تم نشر مكتبات Java باسم 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>
يمكنك استخدام Fleet Engine Auth Library لـ Java لإنشاء رموز مميزة للويب بتنسيق JSON وموقَّعة داخل بيئة Java.
يمكنك عرض أمثلة Java للتفاعل مع واجهة برمجة تطبيقات Fleet Engine في صفحة بدء استخدام Fleet Engine.
Node.js / TypeScript
يُرجى الاطّلاع على https://www.npmjs.com/package/@googlemaps/fleetengine
دورة في الدقيقة
npm install @googlemaps/fleetengine
البدء
يتم حزم مكتبة Go كوحدة على 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
اطّلع على https://pypi.org/project/google-maps-fleetengine/0.1.0/
pip
pip install google-auth
pip install google-maps-fleetengine
نموذج التعليمات البرمجية:
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#
يمكن العثور على تعليمات تثبيت مكتبة C# على الرابط https://www.nuget.org/packages/Google.Maps.FleetEngine.V1.
PHP
يُرجى الاطّلاع على https://packagist.org/packages/google/maps-fleetengine.
Ruby
يُرجى الاطّلاع على https://rubygems.org/gems/google-maps-fleet_engine.