Я пытаюсь получить строку JSON с помощью API данных электронных таблиц Google.Я пытаюсь начать легко, просто всплывающее окно с предупреждением после успешной загрузки строки JSON.
$(function(){ var json_uri = "https://spreadsheets.google.com/feeds/list/0AvC4NUSdTIgddFJnUFRkcnI0QkJDLVg2eklZd0FZVVE/od6/public/values?alt=json"; $.ajax({ type: "GET", url: json_uri, success: function(data){ alert("success"); } }); });
Но я никогда не вижу окно предупреждения.Что происходит?Я новичок и в JSON, и в Spreadsheets API, так что, надеюсь, я просто упускаю из виду простую вещь.
Пример страницы Google: http://code.google.com/apis/gdata/samples/spreadsheet_sample.html
Моя страница примера jsbin: http://jsbin.com/otuxiv/11
Я бы установил dataType для вызова ajax в dataType: 'jsonp', а также попытался изменить
var json_uri = "https://spreadsheets.google.com/feeds/list/0AvC4NUSdTIgddFJnUFRkcnI0QkJDLVg2eklZd0FZVVE/od6/public/values?alt=json";
до
var json_uri = "//spreadsheets.google.com/feeds/list/0AvC4NUSdTIgddFJnUFRkcnI0QkJDLVg2eklZd0FZVVE/od6/public/values?alt=json";
У вас не было времени для тестирования, но вы могли бы избежать ошибки IE.
Другое потенциальное решение здесь - это использовать https://gist.github.com/ronaldsmartin/47f5239ab1834c47088e, чтобы обернуть вашу существующую электронную таблицу.
Добавьте параметры id и sheet html к URL-адресу ниже.
id
sheet
https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec
Например: ваш id - это идентификатор вашего листа, который
0AvC4NUSdTIgddFJnUFRkcnI0QkJDLVg2eklZd0FZVVE
и ваш лист, который
Sheet1
В вашем случае вы можете увидеть ваши данные (они на самом деле работают) здесь как json на
https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec?id=0AvC4NUSdTIgddFJnUFRkcnI0QkJDLVg2eklZd0FZVVE&sheet=Sheet1
В целях безопасности вы должны развернуть код sheetAsJson.gs в приведенном выше списке github как свой собственный на своем Google Диске.
sheetAsJson.gs
Ваш первый пример работал для меня в Firefox 15.01
Вы могли бы избежать многих проблем при разборе этого огромного объекта JSON, если бы вы переместили ваши данные в службу, такую как jsondata.com.
Повсеместно API Google Spreadsheets громоздок.