2010-07-12 3 views
0

Я пытаюсь использовать Yelp API для получения местных ресторанов в зависимости от широты и долготы пользователя. Беда в том, что я совершенно уверен, как это сделать. Глядя на страницу, с которой мне нужно получить данные, она говорит, что тип text/plain. Могу ли я использовать Ajax для этого или я не смогу, поскольку это другой домен?Начало работы с JSON и API Yelp

EDIT: страница Я пытаюсь получить содержимое из вне: http://api.yelp.com/business_review_search?term=yelp&tl_lat=37.9&tl_long=-122.5&br_lat=37.788022&br_long=-122.399797&limit=3&ywsid=w_HyGEVjKFHYZdJC9DQBHg

Я не мог сделать это в PHP нет проблем с помощью file_get_contents(), но сайт построен с использованием жереха. Есть ли аналогичная функция в asp? Я мог бы использовать промежуточную страницу как своего рода прокси для получения и вывода данных.

+0

У вас есть ссылка на страницу API Yelp, на которую вы смотрите? –

+1

Просто FYI, вы оставили ключ Yelp. Я понимаю, что это уже больше года, поэтому, если кто-то хочет злоупотреблять им, это уже произошло. – dguaraglia

ответ

0

Я закончил тем, что использовал промежуточную страницу, которая схватила страницу от Yelp и вывела JSON. Вот фрагмент кода:

SET XmlObj = Server.CreateObject("Microsoft.XMLHTTP") 
XmlObj.open "POST", url, FALSE 
XmlObj.send 
Response.write(XmlObj.responseText) 

На моей первоначальной странице я использовал Ajax, чтобы захватить выход из моей промежуточной страницы, а затем JavaScript для декодирования JSON и вывода результатов.

Это прекрасно работает, но я уверен, что есть лучший способ.

1

Вы можете сделать все это в классическом ASP без использования каких-либо других языков или страниц. Вам понадобится одна вещь - есть библиотека, которая называется JSON2.ASP, вам нужно будет проанализировать результаты. Вы можете узнать больше об этом здесь:

http://zend.lojcomm.com.br/entries/classic-asp-json-revisited/

https://github.com/nagaozen/asp-xtreme-evolution/blob/master/lib/axe/classes/Parsers/json2.asp

После того как вы это вы можете получить результаты Yelp и анализировать их легко в классический ASP. Я делаю это с API 1.0, так как это немного проще, но вы можете использовать это как отправную точку, чтобы сделать это в API 2.0, если хотите.

Ниже приводится код, который верна для поиска в ресторан. Вы, конечно же, должны заполнить свой код API, где YWSID указан в URL-адресе ниже. Я передаю результаты в массив, а затем создаю таблицу из массива для отображения на странице, но как только у вас есть данные, вы можете делать с ней все, что захотите.

<!--#include file="JSON2.asp"--> 
<% 
set xmlHTTP = server.createobject("MSXML2.ServerXMLHTTP.6.0") 
xmlHTTP.open "GET", "http://api.yelp.com/business_review_search?location=Clare%20Ireland&ywsid=XXXXXXXXXX&category=restaurants", false 
xmlHTTP.send() 
RawFeed = xmlHTTP.ResponseText 
Set RawResults = JSON.parse(join(array(RawFeed))) 
For Each YelpFeed In RawResults.Get("businesses") 
If YelpFeed.Get("is_closed") = "False" Then 
    Response.write YelpFeed.Get("name") & "<br>" & vbNewLine 
    Response.write YelpFeed.Get("rating_img_url") & "<br>" & vbNewLine 
    Response.write YelpFeed.Get("address1") & "<br>" & vbNewLine 
    Response.write YelpFeed.Get("phone") & "<br>" & vbNewLine 
    Response.write YelpFeed.Get("photo_url") & "<br>" & vbNewLine 
    Response.write YelpFeed.Get("review_count") & "<br>" & vbNewLine 
End If 

Next 
Set RawResults = nothing 
%> 
Смежные вопросы