کتابخانه های مشتری GAPI

برای ارتباط سرور به سرور (معتمد)، توصیه می‌کنیم از کتابخانه‌های کلاینت GAPI مخصوص زبان برای تجربه بهتر نسبت به توسعه روی REST خام یا gRPC استفاده کنید. فایل‌های پروتوباف که این کلاینت‌ها بر اساس آن‌ها هستند، به صورت عمومی در https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1 در دسترس هستند.

اگر کتابخانه‌ها به زبان برنامه شما وجود ندارند، توصیه می‌کنیم از gRPC یا نقاط پایانی Fleet Engine REST استفاده کنید.

توجه: کتابخانه های GAPIC در محیط های قابل اعتماد (سرور) اجرا می شوند. JWT ها غیر ضروری هستند. از اعتبارنامه پیش فرض برنامه به همراه نقش ondemandAdmin مناسب استفاده کنید.

جاوا

کتابخانه های جاوا تحت google.maps.fleetengine.v1 منتشر می شوند.

گریدل

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'
}

ماون

<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 برای جاوا برای ایجاد نشانه‌های وب JSON امضاشده در محیط جاوا استفاده کنید.

می توانید نمونه های جاوا را برای تعامل با Fleet Engine API در صفحه شروع به کار با Fleet Engine مشاهده کنید.

Node.js / TypeScript

به https://www.npmjs.com/package/@googlemaps/fleetengine مراجعه کنید

npm

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

پایتون

به https://pypi.org/project/google-maps-fleetengine/0.1.0/ مراجعه کنید

پیپ

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# را می‌توانید در https://www.nuget.org/packages/Google.Maps.FleetEngine.V1 بیابید.

PHP

به https://packagist.org/packages/google/maps-fleetengine مراجعه کنید.

روبی

به https://rubygems.org/gems/google-maps-fleet_engine مراجعه کنید.