GAPI क्लाइंट लाइब्रेरी

सर्वर-टू-सर्वर (भरोसेमंद) कम्यूनिकेशन के लिए, हमारा सुझाव है कि रॉ REST या gRPC पर डेवलप करने के बजाय, बेहतर अनुभव के लिए भाषा के हिसाब से GAPI क्लाइंट लाइब्रेरी का इस्तेमाल करें. ये क्लाइंट जिन प्रोटोबफ़ फ़ाइलों पर आधारित हैं वे सार्वजनिक तौर पर https://github.com/googleapis/googleapis/tree/master/google/maps/fleetengine/delivery/v1 पर उपलब्ध हैं.

अगर आपके ऐप्लिकेशन की भाषा में लाइब्रेरी मौजूद नहीं हैं, तो हमारा सुझाव है कि आप gRPC या Fleet Engine REST एंडपॉइंट का इस्तेमाल करें.

ध्यान दें: GAPIC लाइब्रेरी को भरोसेमंद (सर्वर) एनवायरमेंट में चलाया जाता है. JWT की ज़रूरत नहीं है. deliveryAdmin की सही भूमिका के साथ, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करें.

Java

Java लाइब्रेरी google.maps.fleetengine.delivery.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-delivery-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-delivery-v1-java</artifactId>
    <version>LATEST</version>
  </dependency>
</project>

Java एनवायरमेंट में, साइन किए गए JSON वेब टोकन बनाने के लिए, Java के लिए फ़्लीट इंजन ऑथराइज़ेशन लाइब्रेरी का इस्तेमाल किया जा सकता है.

Fleet Engine का इस्तेमाल शुरू करना पेज पर, Fleet Engine API के साथ इंटरैक्ट करने के लिए, Java के उदाहरण देखे जा सकते हैं.

Node.js / टाइपस्क्रिप्ट

एनपीएम

आपके पास package.json के dependencies सेक्शन में लाइब्रेरी का यूआरएल डालने का विकल्प है:

{
  "dependencies": {
    "@googlemaps/fleetengine-delivery": "https://storage.googleapis.com/fleetengine-gapic/dist/latest_release/maps-fleetengine-delivery-v1-nodejs.tar.gz",
    "google-auth-library": "^9.2.0",
    "googleapis": "^118.0.0"
  }
}

कोड का नमूना:

const {google} = require('googleapis');
const fleetengine = require('@googlemaps/fleetengine-delivery');
const {GoogleAuth} = require('google-auth-library');

// CONSTANTS
const PROJECT_ID = 'YOUR_GCP_PROJECT_NAME';
const VEHICLE_ID = 'YOUR_VEHICLE_ID';
const SERVICE_ACCOUNT = 'YOUR_SERVICE_ACCOUNT';
const SERVICE_ACCOUNT_EMAIL = `${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com`;

// CREATE A JWT FOR AUTHENTICATION
const HOWLONG = 55 * 60;          // 55 minutes, cannot be more than 60 minutes

async function signToken(claims) {
  const googleAuth = new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  });
  const authClient = await googleAuth.getClient();
  google.options({auth: authClient});

  const now = Math.round(Date.now() / 1000);
  const iat = now - 300;
  const exp = now + HOWLONG;

  const request = {
      name: `projects/-/serviceAccounts/${SERVICE_ACCOUNT_EMAIL}`,
      requestBody: {
          payload: JSON.stringify({
              iss: SERVICE_ACCOUNT_EMAIL,
              sub: SERVICE_ACCOUNT_EMAIL,
              aud: 'https://fleetengine.googleapis.com/',
              iat: iat,
              exp: exp,
              authorization: claims
          }),
      }
  };

  const response = await google.iamcredentials('v1').projects.serviceAccounts
      .signJwt(request)
      .catch((err) => {
        if (err.errors) throw err.errors;
        else throw err;
      });
  return response.data.signedJwt;
}

// MAKE A REQUEST
async function main() {
    const claims = {
      deliveryvehicleid: VEHICLE_ID
    };

    signToken(claims).then(token => {
      let auth = new GoogleAuth();
      auth.cachedCredential = new AuthorizationHeaderProvider(token);
      const client = new fleetengine.DeliveryServiceClient({ auth: auth });

      client.getDeliveryVehicle({name: `providers/${PROJECT_ID}/deliveryVehicles/${VEHICLE_ID}`}).then(function(resp) {
        console.log(resp);
      }, function(err) {
        console.log(err);
      });
    });
}

class AuthorizationHeaderProvider {
    constructor(token) {
        this.token = token;
    }

    getRequestMetadata(url, callback) {
        callback(null, {'authorization': `Bearer ${this.token}`});
    }
}

main().catch(console.error);

शुरू करें

Go लाइब्रेरी को मॉड्यूल के तौर पर https://pkg.go.dev/cloud.google.com/go/maps पर पैकेज किया गया है

Python

https://pypi.org/project/google-maps-fleetengine-delivery/0.1.0/ पर जाएं

pip

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

C#

C# लाइब्रेरी को इंस्टॉल करने के निर्देश, https://www.nuget.org/packages/Google.Maps.FleetEngine.Delivery.V1 पर मिल सकते हैं.

PHP

PHP लाइब्रेरी को https://storage.googleapis.com/fleetengine-gapic/dist/latest_release/google-maps-fleetengine-delivery-v1-php.tar.gz से डाउनलोड किया जा सकता है

Ruby

Ruby लाइब्रेरी को https://storage.googleapis.com/fleetengine-gapic/dist/latest_release/google-maps-fleetengine-delivery-v1-ruby.tar.gz से डाउनलोड किया जा सकता है