YQL ODT - ответ REST GET существует, но недоступен - PullRequest
0 голосов
/ 14 марта 2012

Я пишу Открытую таблицу данных для агрегирования подсчетов в различных социальных сетях.

Моя попытка может быть найдена здесь на консоли YQL, с XML таблицы открытых данных здесь .

Моя текущая проблема - как вы узнаете при попытке выполнить мой запрос - заключается в том, что запросы Twitter и Facebook возвращают пустой response объект с:

org.mozilla.javascript.UniqueTag@399a063e: NOT_FOUND

вместо заполнения JSON, который возвращает каждая соответствующая служба.

Я думаю, что ненулевой заголовок content-length , возвращенный в объекте rest , указывает, что сервер YQL получил правильный ответ JSON, и, следовательно, проблема не в на стороне веб-сервисов, но на стороне YQL или моего ODT.

Я пытался решить эту проблему различными способами, но безуспешно. Могут ли некоторые эксперты по YQL помочь мне?

Спасибо.

1 Ответ

0 голосов
/ 15 марта 2012

Я нашел свое решение, и это может быть ошибка на сервере YQL.

В результате веб-служба возвращает контент с content-type 'application / json'YQL анализирует его в E4X формате , XML-представление для JavaScript.Почему это так, я понятия не имею, так как JSON должен быть проанализирован в объект JavaScript.

Проблема с этим форматом E4X заключается в том, что он доступен только внутридополнительная функция обратного вызова, которая может быть предоставлена ​​при вызове y.rest () .

При попытке сохранить биты данных в переменной и применить ее к response.object объект, я обнаружил, что консоль выдаст ошибку NOT FOUND.Это означает, что то, что, как я думал, я сохранил в своих переменных, было не строковым или целочисленным значением для этих счетчиков социальных кнопок, а ссылкой на узел E4X.

Для решения этой проблемы я выполнил parseInt магия на узле для получения моих чисел.

Я считаю, что это поведение очень странное и, скорее всего, непреднамеренная ошибка.Надеемся, что разработчик воспользуется этой проблемой, чтобы избежать путаницы в будущем.

...