Using Google Tables as JSON
by Vladimir
HTML
<p>Потом ты можешь опубликовать этот документ в веб. Для этого выбери «Файл» > «Опубликовать в интернете...». В нижней части диалога ты можешь увидеть ссылку к данным, но он дает нам доступ только к HTML (попробуй изменить «html» на «json» — не сработает).</p>
<p>Скопируй все, после key= (в моем примере — 0AtMEoZDi5-pedElCS1lrVnp0Yk1vbFdPaUlOc3F3a2c) и подставь это в URL: https://spreadsheets.google.com/feeds/list/PUT-KEY-HERE/od6/public/values?alt=json-in-script&callback= вместо "PUT-KEY-HERE".</p>
<p>URL для моего примера: https://spreadsheets.google.com/feeds/list/0AtMEoZDi5-pedElCS1lrVnp0Yk1vbFdPaUlOc3F3a2c/od6/public/values?alt=json-in-script&callback=. Эта ссылка не рабонает напрямую из браузера, но, если ты добавишь что-нибудь, например «х», в этот URL, то она покажет твои данные как JSONP.</p>
<p>Ты также можешь получить данные как чистый JSON (но тебе будет нужно пропустить это сначала через CORS прокси, например cors.io) по ссылке: https://spreadsheets.google.com/feeds/list/PUT-KEY-HERE/od6/public/values?alt=json</p>
<p>Теперь в своем веб приложении ты можешь получить данные и использовать их как захочешь, например так:</p>
<pre><div>$.getJSON("http://cors.io/spreadsheets.google.com/feeds/list/0AtMEoZDi5-pedElCS1lrVnp0Yk1vbFdPaUlOc3F3a2c/od6/public/values?alt=json",
function(data) {
//first row "title" column
console.log(data.feed.entry[0]['gsx$title']['$t']);
});</div></pre>
CSS
pre div {
background: #DDD;
}
JavaScript
var key = "0Aqs4C78ZCSHgdG5LajZxTUZ2YndNYWM2aWhscUtWR1E";
$.ajax({
url: 'http://cors.io/spreadsheets.google.com/feeds/list/' + key + '/od6/public/values',
data: {
alt: 'json'
},
dataType: 'json',
success: function(data) {
console.log(data);
}
});