Uber Rush API 沙盒

Uber Rush API Sandbox

正在尝试测试 Uber Rush API(来自本地主机和 linux 服务器)。

调用令牌有效 - 我得到了令牌 尝试实施 sanbox 示例:

curl -X "PUT /v1/sandbox/deliveries/{delivery_id}" \
  -H "Authorization: Bearer <OAUTH TOKEN>" \
  -d "{\"status\":\"en_route_to_pickup\"}"

和urlhttps://sandbox-api.uber.com/

我用 file_get_contents 尝试了相同的请求(在 PHP)

所以,我总是收到错误“405 方法不允许”[=1​​6=]

{"message":"Method not supported for this endpoint.","code":"method_not_allowed"}

我需要做什么才能从这个沙盒示例中获取方法 https://developer.uber.com/docs/rush/sandbox?

正确的语法

curl -X "PUT" -H "Authorization: Bearer <TOKEN>" -H "Content-Type: application/json" -d "{\"status\":\"en_route_to_pickup\"}" https://sandbox-api.uber.com/v1/sandbox/deliveries/DELIVERY_ID

编辑:已更新以反映您问题中的两个问题...

您的请求不匹配且 curl 语法不正确。

首先,您的 CURL 请求指定不正确。应该是:

curl -X "PUT" -H "Authorization: Bearer <OAUTH TOKEN>" -d "{\"status\":\"en_route_to_pickup\"}" https://sandbox-api.uber.com/v1/sandbox/deliveries/{delivery_id}

此外,您的 curl 命令正在尝试向 uber sandbox PUT API 发出 PUT 请求。但是,您的 PHP 代码没有正确设置上下文,因此可能发出了 GET 请求。我怀疑服务器因此拒绝了作为 GET 的请求,因为不允许执行此类操作。

要修复它,请参阅 。这应该为您提供一个示例,说明如何传递必要的上下文以使用 file_get_contents().

发出 PUT 请求