Задать вопрос
gene4000
@gene4000

Почему Яндекс.Локатор выдает ошибку «JSON request is invalid»?

Есть такая служба - Яндекс Локатор, которая позволяет по MAC Wi-Fi точки или по базовой сотовой станции узнать ее координаты. В описании есть пример запроса, который я сделал, но Яндекс упорно говорит, что запрос неверный.

json={
		"common":
			{
				"version":"1.0",
				"api_key":"XXХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХXX=="
			},
		"wifi_networks":
			[
				{
					"mac": "2CD02D814C80",
					"signal_strength": -68,
					"age": 500
				}
			]
		}


Причем, если кто будет пробовать инструкцию со страницы https://yandex.ru/dev/locator/doc/dg/api/json.html - сразу хочу сказать, что он будет выдавать ошибку "не понял ваш формат", пока в адресе запроса /geolocation не укажешь тип json, вот так: /geolocation?json=1

В общем, после добавления этого параметра, он понимает, что запрос json, но выдает код ошибки 7, который у них означает "JSON request is invalid". Разные варианты пробовал, список точек, одну, с необязательными параметрами и без обязательных, убирал квадратные скобки, чтобы только один параметр был и даже запятые ставил после последнего параметра. Результат один - ошибка номер 7.
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
gene4000
@gene4000 Автор вопроса
Проблема решена.
Либо запрос должен быть:
/geolocation?format=json

либо в заголовках нужно прописать format=json, например так:
Content-Type: application/json;format=json
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы