2013-02-21 2 views
0

Я показываю один твит на своем сайте JSON, API Twitter и Javascript. Отображение твитов на моей домашней странице, но не на каких-либо подстраницах. В подстраницах я получаю 401 (несанкционированную) ошибку при вызове JSON. Есть ли способ исправить это? Вот мой сценарий:Twitter JSON звонит только на домашнюю страницу

(function($){ 
    $.fn.tweets = function(options) { 
     $.ajaxSetup({ cache: true }); 
     var defaults = { 
      tweets: 1, 
      before: "<span>", 
      after: "</span>" 
     }; 
     var optionsWithDefaults = $.extend(defaults, options); 
     return this.each(function() { 
      var obj = $(this); 
      $.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name='+optionsWithDefaults.username+'&count=' + optionsWithDefaults.tweets, 
       function(data) { 
        $.each(data, function(i, tweet) { 
         if(tweet.text !== undefined) { 
          $(obj).append(optionsWithDefaults.before+tweet.text+optionsWithDefaults.after); 
         } 
        }); 
       } 
      ); 
     }); 
    }; 
})(jQuery); 
+0

Трудно сказать, не зная, что происходит между страницами. Действительно ли jQuery включен на всех страницах? Вы передаете правильные варианты на других страницах? –

+0

Между страницами нет ничего другого. Да, jQuery включен на всех страницах. Параметры не изменяются между страницами, потому что сценарий вызывается в нижнем колонтитуле, который одинаковый на каждой странице. – user715564

ответ

0

Если вы получаете ошибку 401 Unauthorized HTTP из API Twitter, это означает, что вы пытаетесь получить доступ к какой-то части API, которая требует аутентификации пользователя (см Error Codes & Responses).

Поскольку вы не указали, что на других страницах отличается, я предполагаю, что вы пытаетесь запросить что-то другое, например, поиск. Для таких запросов вам необходимо авторизоваться. Чтобы узнать больше о том, как авторизовать пользователя, я предлагаю вам взглянуть на Implementing Sign in with Twitter.

+0

Ничего не изменилось. Единственное, что происходит на любой странице, - это отображение последнего твита. Существует не поиск или что-то еще, что связано с API. Нет ничего, что должно требовать авторизации. – user715564

+0

@ user715564 Почему бы не использовать [Встроенные временные рамки] (https://dev.twitter.com/docs/embedded-timelines), то? –

+0

Потому что я не хочу, чтобы ui поставлялся со встроенными временными графиками. Все, что мне нужно сделать, это отобразить текст твита. – user715564