Bu dokümanda, teslimat araçlarının nasıl listeleneceği açıklanmaktadır.
Ortamlar ve sınırlamalar
Teslimat araçlarını bir sunucu veya tarayıcı ortamından listeleyebilirsiniz. Sürücü SDK, yayınlama araçlarının listelenmesini desteklemiyor.
Teslimat araçlarını listelemek, teslimat araçlarına geniş kapsamlı erişim talep eder ve yalnızca güvenilir kullanıcılara yöneliktir. Teslim Filosu Okuyucu veya Fleet Engine'i kullanın Liste yayınlama aracı istekleri yaparken, Yayınlama Yöneticisi jetonları.
Listedeki teslimat araçlarında etkileri nedeniyle aşağıdaki alanlar çıkartılmıştır yanıt boyutunda:
CurrentRouteSegment
RemainingVehicleJourneySegments
Kullanım
Araçları, özellik filtreleri ve görüntü alanı sınırlarına göre listeleyebilirsiniz. Örneğin veya görüntü alanı yoksa yanıt tüm teslimat araçlarını içerir.
Özellik filtreli liste
Teslimat araçlarını attributes
özelliğini kullanarak filtreye göre listeleyebilirsiniz. Örneğin,
Örneğin, my_key
anahtarı ve my_value
değerine sahip bir özelliği sorgulamak için şunu kullanın:
attributes.my_key = my_value
. Birden fazla özelliği sorgulamak için sorguları birleştirin
Mantıksal AND
ve OR
operatörlerini attributes.key1 = value1 AND
attributes.key2 = value2
'deki gibi kullanarak kullanabilirsiniz. Tam açıklama için bkz. AIP-160
yardımcı olur. Filtreleri görüntü alanı sınırlarıyla birleştirirseniz filtre
görüntü alanına bağlı bir AND
operatörü gibi işlev görür. Araç özellikleri filtresine göz atın.
sorguları başlıklı makaleye bakın.
Görüntü alanı sınırları olan liste
viewport
isteğini kullanarak listelenen teslimat araçlarını konuma göre filtreleyebilirsiniz
parametresinden sonra bir değer girin. viewport
istek parametresi, iki sınırlama kullanarak görüntü alanlarını tanımlar
koordinatlar: high
(kuzeydoğu) ve low
(Güneybatı) enlemi ve boylamı
koordinat çiftidir. Yüksek enlem içeren istekler reddedilir
coğrafi olarak düşük enlemden daha düşüktür.
Yanıtları listele
Teslimat aracı listeleri, varsayılan olarak makul bir sayfa boyutu kullanılarak sayfalara ayrılır. Eğer bir sayfa boyutu belirtirseniz istek yalnızca araç sayısını döndürür. en fazla bir değer olabilir. İstenen sayfa boyutu dahili bir sınırı aşıyorsa dahili maksimum değer kullanılır. Varsayılan ve maksimum sayfa her ikisi de 100 araç.
Teslimat araçları listesinde sonraki sayfanın okunması için bir jeton sonuç. Sayfa jetonu, yalnızca yayınlama sayfası daha fazla olduğunda yanıtlarda bulunur araç alınabilir. Görevlerin sonraki sayfasını almak için Öncekine benzer bir istek içeren sayfa jetonu isteği gönderin.
Araç örneklerini listeleme
Teslimat araçlarını belirli bir ölçekte listelemek için Java gRPC kitaplığını veya REST'i belirli bir özellikteki belirli bir bölge. Başarılı bir yanıt hâlâ boştur. Bu durumda, belirtilen özelliğe sahip hiçbir araç yoktur bulunmalıdır.
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"
Arama başarılı olursa yanıt gövdesinde aşağıdakilerin bulunduğu veriler yer alır: yapı:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}