In diesem Dokument wird beschrieben, wie Sie Lieferfahrzeuge auflisten.
Umgebungen und Einschränkungen
Sie können Lieferfahrzeuge über eine Server- oder Browserumgebung auflisten. Das Driver SDK unterstützt das Auflisten von Lieferfahrzeugen nicht.
Anfragen zum Auflisten von Lieferfahrzeugen erfordern einen umfassenden Zugriff auf Lieferfahrzeuge und sind nur für vertrauenswürdige Nutzer vorgesehen. Verwenden Sie beim Stellen von Anfragen zum Auflisten von Lieferfahrzeugen Delivery Fleet Reader - oder Fleet Engine Delivery Admin -Tokens.
Die aufgelisteten Lieferfahrzeuge haben die folgenden Felder aufgrund ihrer Auswirkungen auf die Antwortgröße ausgeblendet:
CurrentRouteSegmentRemainingVehicleJourneySegments
Nutzung
Sie können Fahrzeuge nach Attributfiltern und Darstellungsbereichsgrenzen auflisten. Wenn Sie keinen Filter oder Darstellungsbereich angeben, enthält die Antwort alle Lieferfahrzeuge.
Liste mit Attributfiltern
Sie können Lieferfahrzeuge nach Filter auflisten, indem Sie die Eigenschaft attributes verwenden. Wenn Sie beispielsweise ein Attribut mit dem Schlüssel my_key und dem Wert my_value abfragen möchten, verwenden Sie
attributes.my_key = my_value. Wenn Sie mehrere Attribute abfragen möchten, verknüpfen Sie Abfragen
mit den logischen Operatoren AND und OR, z. B. attributes.key1 = value1 AND
attributes.key2 = value2. Eine vollständige Beschreibung
der Syntax von Filterabfragen finden Sie unter AIP-160. Wenn Sie Filter mit Darstellungsbereichsgrenzen kombinieren, fungiert der Filter als AND-Operator für die Darstellungsbereichsgrenze. Weitere Informationen finden Sie unter Filterabfragen für Fahrzeugattribute
queries.
Liste mit Darstellungsbereichsgrenzen
Sie können aufgelistete Lieferfahrzeuge nach Standort filtern. Verwenden Sie dazu den Anfrageparameter viewport. Mit dem Anfrageparameter viewport werden Darstellungsbereiche anhand von zwei Begrenzungskoordinaten definiert: einem Paar aus Breiten- und Längengradkoordinaten für high (Nordosten) und low (Südwesten). Anfragen werden abgelehnt, wenn sie einen hohen Breitengrad enthalten, der geografisch niedriger als ein niedriger Breitengrad ist.
Listenantworten
Lieferfahrzeuglisten werden standardmäßig mit einer angemessenen Seitengröße paginiert. Wenn Sie eine Seitengröße angeben, gibt die Anfrage nur die Anzahl der Fahrzeuge zurück, die durch das Limit angegeben wird, oder weniger. Wenn die angeforderte Seitengröße einen internen Höchstwert überschreitet, wird der interne Höchstwert verwendet. Die Standard- und Höchstseitengröße beträgt jeweils 100 Fahrzeuge.
Eine Liste von Lieferfahrzeugen kann ein Token zum Lesen der nächsten Ergebnisseite enthalten. Ein Seitentoken ist nur in einer Antwort vorhanden, wenn weitere Seiten mit Lieferfahrzeugen abgerufen werden können. Wenn Sie die nächste Seite mit Aufgaben abrufen möchten, verwenden Sie das Seitentoken mit einer Anfrage, die ansonsten mit der vorherigen Anfrage identisch ist.
Beispiele für das Auflisten von Fahrzeugen
Sie können die Java gRPC-Bibliothek oder REST verwenden, um Lieferfahrzeuge in einer bestimmten Region mit einem bestimmten Attribut aufzulisten. Eine erfolgreiche Antwort kann leer sein. In diesem Fall sind im angegebenen Darstellungsbereich keine Fahrzeuge mit dem angegebenen Attribut vorhanden. Eine vollständige Liste der unterstützten Sprachen finden Sie unter Clientbibliotheken für Dienste für geplante Aufgaben.
Java
static final String PROJECT_ID = "my-delivery-co-gcp-project";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
ListDeliveryVehiclesRequest.newBuilder() // No need for the header
.setParent(parent)
.setViewport(
Viewport.newBuilder()
.setHigh(LatLng.newBuilder()
.setLatitude(37.45)
.setLongitude(-122.06)
.build())
.setLow(LatLng.newBuilder()
.setLatitude(37.41)
.setLongitude(-122.11)
.build())
.setFilter("attributes.my_key = my_value")
.build();
try {
ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
# HTTP request
html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles
# Request with a filter
# Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"
Wenn die Suche erfolgreich ist, enthält der Antworttext Daten mit der folgenden Struktur:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}