Twitter JSON调用仅适用于主页
我在我的网站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);
如果您收到来自Twitter的API一个401 Unauthorized
HTTP错误就意味着你正在试图访问API的某些部分需要用户身份验证(见Error Codes & Responses)。
由于您没有指定其他页面中的不同之处,因此我认为您试图请求与搜索范例不同的内容。对于那些需要获得授权的请求。要了解有关如何授权用户的更多信息,我建议您查看Implementing Sign in with Twitter。
没什么不同。任何页面上唯一发生的事情就是显示最近的推文。没有搜索或任何其他API相关。没有任何事情需要授权。 – user715564 2013-02-21 17:00:20
@ user715564那为什么不使用[Embedded Timelines](https://dev.twitter.com/docs/embedded-timelines)呢? – 2013-02-21 17:04:15
因为我不想要嵌入时间线的UI。我需要做的就是显示推文的文字。 – user715564 2013-02-21 18:14:40
很难说,不知道页面之间有什么不同。 jQuery实际上是否包含在所有页面中?你是否在其他页面上传递适当的选项? – 2013-02-21 16:40:41
页面之间没有什么不同。是的,jQuery包含在所有页面中。这些选项在页面之间不会更改,因为脚本在每个页面上都是相同的页脚中调用。 – user715564 2013-02-21 17:01:33