Проблема с RESTful-интерфейсом Google AJAX Search API - PullRequest
0 голосов
/ 04 мая 2010

Когда я отправляю следующий запрос

http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=coffee%20New%20York%20NY

с помощью функции c # WebClient.DownloadString или обычного веб-браузера Я получаю данные JSON, которые отличаются от данных для того же запроса, используя JavaScript и Google AJAX Search API.

Из службы REST я получаю следующее поле URL

http://www.google.com/maps/place?source003duds0026q003dcoffee0026cid003d13245583795745066822

но из запроса JavaScript я получаю это поле URL

http://www.google.com/maps/place?source=uds&q=coffee&cid=13245583795745066822

Проблема с ответом службы REST заключается в том, что URL-адрес дает баллы на веб-страницу с сообщением об ошибке «В настоящее время мы не поддерживаем местоположение».

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 08 мая 2010

Я решил эту проблему путем анализа данных JSON с помощью библиотеки Json.NET http://json.codeplex.com/

0 голосов
/ 04 мая 2010

Похоже, вы либо неправильно декодируете URI из запроса REST, либо Google неправильно его завершает. = отправляется или анализируется как 003d, а & как 0026

РЕДАКТИРОВАТЬ: после того, как я попробовал эту ссылку, я вижу, что они возвращают ссылки в JSON с кодировкой '=' и '&', JavaScript должен автоматически заменить эти символы. Вы могли бы сделать простую замену String для «003d» и «0026» - хотя я не уверен, что это охватит каждый случай использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...