2013-02-21 49 views
0

我在我的網站JSON,Twitter API和Javascript上顯示一條推文。推文顯示在我的主頁上,但不在任何子頁面上。在子頁面上,我得到了JSON調用中的401(未授權)錯誤。有沒有辦法來解決這個問題?這裏是我的腳本: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實際上是否包含在所有頁面中?你是否在其他頁面上傳遞適當的選項? – 2013-02-21 16:40:41

+0

頁面之間沒有什麼不同。是的,jQuery包含在所有頁面中。這些選項在頁面之間不會更改,因爲腳本在每個頁面上都是相同的頁腳中調用。 – user715564 2013-02-21 17:01:33

回答

0

如果您收到來自Twitter的API一個401 Unauthorized HTTP錯誤就意味着你正在試圖訪問API的某些部分需要用戶身份驗證(見Error Codes & Responses)。

由於您沒有指定其他頁面中的不同之處,因此我認爲您試圖請求與搜索範例不同的內容。對於那些需要獲得授權的請求。要了解有關如何授權用戶的更多信息,我建議您查看Implementing Sign in with Twitter

+0

沒什麼不同。任何頁面上唯一發生的事情就是顯示最近的推文。沒有搜索或任何其他API相關。沒有任何事情需要授權。 – user715564 2013-02-21 17:00:20

+0

@ user715564那爲什麼不使用[Embedded Timelines](https://dev.twitter.com/docs/embedded-timelines)呢? – 2013-02-21 17:04:15

+0

因爲我不想要嵌入時間線的UI。我需要做的就是顯示推文的文字。 – user715564 2013-02-21 18:14:40

相關問題