0

我正在使用以下代码从特定用户那里获取 twitter 数据并将其输出到 div,但是它不起作用。什么都没有输出,我真的不确定我是否做对了,我从别人那里得到了这个分叉的这个片段。我不确定是否需要通过 twitter 进行身份验证以及如何进行?

http://jsfiddle.net/elijahmanor/Nstnx/22/

JS

$(function(){    

    var twitterUsername = 'anderskitson'
    var url = "http://twitter.com/status/user_timeline/" + 
        twitterUsername + 
        ".json?count=5&callback=?";
    $.getJSON( url, function( data ) {
        var twitterList = $( "<ul />" );
        $.each( data, function( index, item ) {
            $( "<li />", { "text" : item.text } )
                .appendTo( twitterList );
        });
        $( "#output" ).fadeOut( "fast", function(){
            $( this ).empty()
                .append( twitterList )
                .fadeIn( "slow" );            
        });

});
4

1 回答 1

2

您使用的是旧形式的 URL。该表格已被弃用。您还需要添加callback=something到 URL,以便它使用 JSONP 并解决跨源问题。此外,将您的 jQuery 更新到最新版本。小提琴使用的是旧版本。

试试这个代码:

$( "#getTweets" ).bind( "click", function() {
    var twitterUsername = $( "#twitterUsername" ).val();
    var url = "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&count=2&callback=jsonp&screen_name=" + 
        twitterUsername;
    $.getJSON( url, function( data ) {
        var twitterList = $( "<ul />" );
        $.each( data, function( index, item ) {
            $( "<li />", { "text" : item.text } )
                .appendTo( twitterList );
        });
        $( "#output" ).fadeOut( "fast", function(){
            $( this ).empty()
                .append( twitterList )
                .fadeIn( "slow" );            
        });
    });
});
于 2013-02-01T20:40:46.907 回答