Twitter API getJSON для мета-идентификатора статуса - Ответ пуст! - PullRequest
0 голосов
/ 25 мая 2011

На SO есть несколько похожих сообщений на эту тему, но все они имеют дело с поиском, и я пытаюсь сделать что-то другое. Я попытался применить некоторую логику в ответах на другие вопросы здесь, но без успеха. По сути, я просто хочу, чтобы пользователи могли вводить идентификатор обновления статуса в текстовое поле, нажимать кнопку, а затем отображать все метаданные, связанные с этим сообщением. Если я оставлю обратный вызов =? часть строки URL Я получаю ответ, но он пуст, что, очевидно, связано с ограничениями безопасности, установленными API Twitter.

Вот с чем я сейчас работаю:

$.getJSON("http://www.twitter.com/statuses/show/73051651728084992.json?callback=?", 
function(Data) 
{ 
  if(Data.length)
  {
    var Content = "";
    $.each(Data, function(i, Row)
    {
      alert("We Have Data");
      Content += Row;
    });
    $("#Result").append(Row);
  }
  else
    alert("No Result for that ID!");
})

Что возвращается без данных, но запрос возвращается с HTTP-ответом 200. Очевидно, что я что-то упускаю, что касается обратного вызова, я просто не уверен, что. В качестве грубого подтверждения концепции я собирался вывести все данные в блок Result и довести их до конца. Очевидно, обо всем по порядку. Мне нужно иметь некоторые данные для работы!

Что мне не хватает?

1 Ответ

1 голос
/ 25 мая 2011

Удалите ?callback=? из URL и попробуйте снова.Вы просите API Twitter обернуть ответ в обратный вызов ?, что приведет к неверному JSON.Также, если есть сомнения, загрузите URL-адрес вручную в браузере, чтобы проверить, правильно ли отформатирован ответ.

Кроме того, измените его, поскольку $.getJSON() возвращает объект, а не строку:

if (Data) {
    var Content = "";
    ..
}
...