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);   
    }
});