列出送货车辆

本文档介绍了如何列出送货车辆。

环境和限制

您可以在服务器或浏览器环境中列出送货车辆。驾驶员 SDK 不支持展示送货车辆信息。

列出送货车辆申请对送货车辆的广泛访问权限, 仅供可信用户使用。使用 Delivery Fleet ReaderFleet Engine Delivery Admin 令牌。

由于以下字段的影响,所列送货车辆会被隐去 对响应大小的影响:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

用法

您可以按属性过滤条件和视口边界列出车辆。如果您指定 无过滤器或视口,则响应包含所有交付车辆。

包含属性过滤条件的列表

您可以使用运送车辆的 attributes 属性进行过滤,以列出送货车辆。对于 例如,要查询键为 my_key、值为 my_value 的属性,请使用 attributes.my_key = my_value。如需查询多个属性,请联接查询 使用逻辑 ANDOR 运算符,如 attributes.key1 = value1 AND attributes.key2 = value2 中所示。如需查看完整说明,请参阅 AIP-160 过滤条件查询语法的范畴。如果您将过滤器与视口边界结合使用, 充当视口边界的 AND 运算符。请参阅车辆属性过滤器 查询了解详情。

包含视口边界的列表

您可以使用 viewport 请求按位置过滤列出的送货车辆 参数。viewport 请求参数使用两个边界来定义视口 坐标:high(东北)和 low(西南)纬度和经度 坐标对。如果请求包含高纬度,则会被拒绝 这个地理位置低于低纬度的地区。

列出响应

默认情况下,系统会使用合理的页面大小对送货车辆列表进行分页。如果 则请求仅返回车辆数量 或更少。如果所请求的页面大小超出内部 最大值,则系统会使用内部最大值。默认网页和最大网页数 都是 100 辆车。

配送车辆列表可以包含用于读取下一页的令牌 结果。仅当有更多提交页面时,响应中才会显示页面令牌 车辆可供收回。如需检索下一页任务,请使用 与前一个请求完全相同的页面令牌 请求。

列出车辆示例

您可以使用 Java gRPC 库或 REST 列出 具有某种属性的特定地区。成功响应 为空。如果发生这种情况,则意味着没有具有指定属性的车辆 指定视口内的尺寸

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"

如果查找成功,响应正文将包含具有以下数据的数据 结构:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

后续步骤