مكتبات العملاء في GAPI

بالنسبة إلى الاتصال من خادم إلى خادم (موثوق به)، ننصح باستخدام مكتبات عملاء GAPI الخاصة بكل لغة للحصول على تجربة أفضل من تطوير عبر REST أو gRPC أوّلي. ملفات Protobuf التي يعتمد عليها هؤلاء العملاء هي متاح للجمهور على https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/v1.

في حال عدم توفّر مكتبات بلغة تطبيقك، ننصحك باستخدام رمز gRPC. أو راحة المحرّك الأسطول والنقاط النهائية.

ملاحظة: من المفترض أن يتم تشغيل مكتبات 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 للغة 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.