使用Uber API获取用户端点位置

时间:2016-02-04 14:56:12

标签: android uber-api

我一直在关注UBER API,我想知道是否有办法在我的Android / iOS应用程序中运行服务,我的应用程序可以让用户下载位置。

我现在正在考虑的方式是以下场景: - 用户在UBER汽车前往目的地 - 我的应用程序会收到下拉位置(纬度,长度)位置的通知 - 我的应用程序通过通知建议他们可以在他们的下车地点做的事情。

这样的用例是否可能?

我对this API

感兴趣

特别是在这个信息中: “目的地”:{       “纬度”:37.7766874,       “东经”: - 122.394857,       “埃塔”:19    }

感谢。

1 个答案:

答案 0 :(得分:1)

这样的用例是可能的,并在以下链接中进行了更详细的解释:

要构建此次旅行体验,您必须向用户请求all_trips OAuth scope

  

all_trips

     

获取用户当前正在旅行的详细信息   如何请求(通过优步应用程序或第三方   应用程序)。

     

特权

这是一个特权范围,因为您需要先从Uber请求访问权限,以便在Uber Developer Dashboard

中定义的应用程序中使用该范围

然后,在您使用POST /v1/requests代表用户发出优步乘车请求后,您可以拨打GET /v1/requests/currentGET /v1/requests/{request_id}来获取旅行的详细信息:

{
   "request_id":"17cb78a7-b672-4d34-a288-a6c6e44d5315",
   "status":"accepted",
   "location":{
      "latitude":37.7886532015,
      "longitude":-122.3961987534,
      "bearing":135
   },
   "pickup":{
      "latitude":37.7872486012,
      "longitude":-122.4026315287,
      "eta":5
   },
   "destination":{
      "latitude":37.7766874,
      "longitude":-122.394857,
      "eta":19
   },
   "driver": {
      "phone_number": "(555)555-5555",
      "rating": 5,
      "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/img.jpeg",
      "name": "Bob"
   },
   "vehicle":{
      "make": "Bugatti",
      "model": "Veyron",
      "license_plate": "I<3Uber",
      "picture_url": "https:\/\/d1w2poirtb3as9.cloudfront.net\/car.jpeg"
   },
   "surge_multiplier":1.0,
   "eta": 5
}
  • 如果您的应用没有提出乘车请求,则必须轮询GET /v1/requests/current端点。有关最佳做法,请参阅thisthis

  • 如果您的应用发出了乘车请求,则上述/ v1 /请求端点可以与Webhooks事件驱动机制结合使用,以便在您的服务器上通知您旅行的{{ {3}}或收据准备就绪,而不是每3-5秒轮询一次,以获得最新的详细信息。

当您通过网络连接收到优步的通知时,请拨打status has been updatedGET /v1/requests/current端点。

然后根据您收到的数据,您需要通知您的Android服务(通过服务器到客户端通信机制,例如websocket,推送通知等),可以从优步获得新信息,并根据您向用户显示的信息给出了“旅行背景”的相关信息。您想要使用的数据,例如: - 当前位置(纬度/经度)
- 取件地点(纬度/经度)
- ETA接送(当车到达时)
- 目的地位置(纬度/经度)
- 到目的地的ETA(当用户在车内时)

webhook收到以下事件:

  • GET /v1/requests/{request_id}

      

    对于您的申请所提出的所有请求   代表优步车手,我们将向您的WEBHOOK网址发出请求   每当它的状态发生变化这可以帮助您通知用户或   更改应用的状态以反映状态更改   持续轮询/ v1 / requests端点。

  • REQUESTS.STATUS_CHANGED

      

    对于您的申请代表优步车手提出的所有要求,我们   每当收到请求收据时,都会向您的WEBHOOK URL发出请求   可用。这将允许您向用户显示他们的详细信息   他们的收据一收到,他们的收费是多少   可用。如果骑手在宽限期后取消,他们就是   收费,收据仍然可用,显示该费用。

         

    要访问“请求收据”资源,用户必须具有此权限   授权您的应用程序访问request_receipt   范围。

REQUESTS.RECEIPT_READY

相关问题