Конечные точки Uber API не работают с реальным доменом сервера, но хорошо работают с песочницей

Я тестировал Uber API в течение месяца и недавно заметил нестабильное поведение.

В моем коде есть несколько необычных ответов, возвращаемых с конечных точек Uber. Теперь я вставляю снимки экрана моего кода здесь ниже:

Вы можете видеть, что у меня есть глобальная переменная строкового типа "baseURL", я продолжаю переключать ее между реальным сервером и песочницей, как показано ниже: "https://api.uber.com/v1" и "https://sandbox-api.uber.com/v1"

Но по результатам моего тестирования я могу сказать, что большинство API в песочнице работают отлично, но когда я переключился на реальный домен сервера, все те, которые я тестировал, вообще не работали.

Обновление. Для среды песочницы /v1/estimates/time также не работает. Он вернет 401. Мой URL-адрес запроса выглядит так: https://sandbox-api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914097&start_longitude=116.458539.

1) POST /v1/request/estimate

Я уверен, что «POST» — это то, что предлагает документ Uber API (https://developer.uber.com/v1/endpoints/). Но этот снимок экрана был сделан, когда я переключился на реальный сервер (песочница работает без проблем с тем же кодом).

Он вернул: "Method not supported for this endpoint." / "method_not_allowed" с 405 code.

введите здесь описание изображения

2) POST /v1/requests

Такое же поведение с реальным сервером (песочница работает хорошо), как показано ниже, и он также вернул "invalid OAuth 2.0 credentials provided." / "unauthorized" с 405 code. Но я уверен, что могу использовать те же учетные данные для выполнения запросов в песочнице.

введите здесь описание изображения

3) GET /v1/estimates/time

Даже этот API не требует токена доступа, но все равно возвращает "No authentication provided."/"unauthorized" с 401 code. Обратите внимание, что это хорошо работает для песочницы, но не работает для реального сервера.

введите здесь описание изображения

Пожалуйста, помогите, большое спасибо!


person Boris    schedule 17.08.2015    source источник


Ответы (1)


Каждый может использовать конечную точку Uber API Request в тестовой среде, но для ее использования в рабочей среде требуется белый список. Вы можете запросить добавление вашего приложения в белый список на странице поддержки Uber: https://developer.uber.com/support/ .

Для конечной точки /v1/estimates/time в рабочей среде требуется токен сервера или токен доступа, но для этого не требуется внесение в белый список.

person Alec    schedule 17.08.2015
comment
Привет, Алек, спасибо за объяснение. Все они, включая продакшн и песочницу, работали так же хорошо, как и месяц назад, не требуя внесения в белый список. Вы имеете в виду, что теперь процедура была обновлена? - person Boris; 18.08.2015
comment
А для /v1/estimates/time, если вы посмотрите на мой снимок экрана, вы увидите, что токен сервера был добавлен к URL-адресу запроса, но он по-прежнему возвращает 401. - person Boris; 18.08.2015
comment
Я напечатал URL-адрес следующим образом: https://api.uber.com/v1/estimates/time?server_token=myToken&start_latitude=39.914277&start_longitude=116.460496. - person Boris; 18.08.2015
comment
ну, это кажется мне плохой новостью... так вы имеете в виду, что все рабочие API недоступны в Китае или только этот? - person Boris; 18.08.2015
comment
Различные конечные точки для рабочего API могут работать не так, как ожидалось, пока мы полностью не запустим его в Китае. - person Alec; 18.08.2015
comment
Да, хорошо, я понял. Думаю, китайским разработчикам придется немного подождать. Большое спасибо за помощь! - person Boris; 19.08.2015
comment
Обновление: Uber API теперь доступен в Китае! - person Alec; 04.11.2015
comment
@Alec, как получить токен сервера для использования API песочницы uber? Я искал в учебниках Uber, но ничего не нашел, спасибо заранее - person Ahmed Gamal; 19.11.2015