GAPI İstemci Kitaplıkları

Sunucudan sunucuya (güvenilir) iletişim için geliştirme yerine daha iyi bir deneyim için dile özgü GAPI istemci kitaplıkları tercih edebilirsiniz. Bu istemcilerin temel aldığı protobuf dosyaları herkese açık olarak mevcuttur: https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1.

Kitaplıklar uygulamanızın dilinde mevcut değilse gRPC'yi kullanmanızı öneririz veya Fleet Engine REST uç noktalar.

NOT: GAPIC kitaplıkları, güvenilir (sunucu) ortamlarda çalışacak şekilde tasarlanmıştır. JWT'lere gerek yoktur. uygun ondemandAdmin rolü.

Java

Java kitaplıkları google.maps.fleetengine.v1 altında yayınlanır.

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>

Java için Fleet Engine Auth Kitaplığı'nı kullanabilirsiniz. Java ortamında imzalı JSON web jetonları oluşturmak için.

Fleet Engine API ile etkileşim için Java örneklerini Fleet Engine'i kullanmaya başlama sayfasını ziyaret edin.

Node.js / TypeScript

https://www.npmjs.com/package/@googlemaps/fleetengine sayfasına bakın.

npm

npm install @googlemaps/fleetengine

Go

Go kitaplığı bir modül olarak 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/ adresine göz atın

pip

pip install google-auth
pip install google-maps-fleetengine

Örnek kod:

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# kitaplığının yükleme talimatlarını şu adreste bulabilirsiniz: https://www.nuget.org/packages/Google.Maps.FleetEngine.V1.

PHP

https://packagist.org/packages/google/maps-fleetengine adresine bakın.

Ruby

https://rubygems.org/gems/google-maps-fleet_engine sayfasına göz atın.