1

我对 2 个问题感到困惑,但还无法弄清楚。

1 - 我试图在网站上放置一个框,显示特定主题标签的所有推文。默认的 twitter 嵌入时间线小部件无法正常工作 - 因为我需要显示此处显示的所有推文:

https://twitter.com/search/realtime?q=%2323Dec&src=typd

我尝试创建一个小部件,但对于主题标签 - #23Dec & 它提供了以下代码:

<a class="twitter-timeline" width="300" height="500" href="https://twitter.com/search?q=%2323Dec" data-widget-id="279943570356584449">Tweets about #23Dec</a>

<script>
!function(d,s,id){
    var js,fjs=d.getElementsByTagName(s)[0];
    if(!d.getElementById(id)){
        js=d.createElement(s);
        js.id=id;
        js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);
    }
}(document,"script","twitter-wjs");
</script>

我替换了href="https://twitter.com/search?q=%2323Dec"href="https://twitter.com/search/realtime?q=%2323Dec&src=typd"但仍然无法正常工作....

我应该怎么做才能拉出所有推文?并将其放在自动更新的网站上?

2 - 其次,我该如何设计它?因为我在给定的脚本中没有找到任何可以用自定义样式表覆盖的样式表?

请帮我....

4

1 回答 1

2

我认为这可能对您有所帮助..注意搜索参数 obj 的构建方式以及从那里传递它的方式。您将看到一个用于主题标签搜索的输入框,以及查看我如何从区域设置趋势主题中提取它们。

大家好,我整理了一个不错的 JS fiddle,它可以回答您在处理 Twitter API 时的所有问题。该网络应用程序抓取热门地区,并允许您深入了解热门话题,然后查看其中的推文。

我还包括了一个标准的 Twitter 搜索提交框,所以以一种奇怪的方式,这是一个准系统 Tweetdeck 客户端供您检查。此外,为了推动新 Jquery 库的适应,我使用了 1.91,它使用了新的 live.bind 点击事件语法。

享受

http://jsfiddle.net/jdrefahl/5M3Gn/

    function searchTwitter(query) {
    $.ajax({
        url: 'http://search.twitter.com/search.json?' + jQuery.param(query),
        dataType: 'jsonp',
        success: function (data) {
            var tweets = $('#tweets');
            tweets.html('');
            for (res in data['results']) {
                tweets.append('<div>' + data['results'][res]['from_user'] + ' wrote: <p>' + data['results'][res]['text'] + '</p></div><br />');
            }
        }
    });
}

$(document).ready(function () {

    function getTrendsByID(id) {
        $.ajax({
            url: 'http://api.twitter.com/1/trends/' + id + '.json',
            dataType: 'jsonp',
            success: function (data) {
                $.each(data[0].trends, function (i) {
                });
            }
        });
    };

    function getLocales() {
        $.ajax({
            url: 'https://api.twitter.com/1/trends/available.json',
            dataType: 'jsonp',
            success: function (data) {
                var locales = $('ul#locales');
                locales.html('');
                $.each(data, function (i) {
                    localeID[i] = data[i].woeid;
                    $('ul#locales').append('<li>' + data[i].name + '</li>');
                });
            }
        });

    };

    function getTrends(id) {
        $.ajax({
            url: 'https://api.twitter.com/1/trends/' + id + '.json',
            dataType: 'jsonp',
            success: function (data) {
                var trends = $('ul#currentTrends');
                trends.html('');
                $.each(data[0].trends, function (i) {
                    $('ul#currentTrends').append('<li>' + data[0].trends[i].name + '</li>');
                });
            }
        });
    };

    // Event Handlers
    $(document).on("click", "#locales li", function () {
        var $this = $(this);
        var localesHdr = $('#currentTrendsCont h3');
        var tweets = $('#tweets');
        var trendsHdr = $('#tweetsCont h3');
        trendsHdr.html('');
        tweets.html('');
        localesHdr.html('');
        $('#currentTrendsCont h3').html($this.text());
        getTrends(localeID[$this.index()]);
    });

    $(document).on("click", "#currentTrends li", function () {
        var $this = $(this);
        var trendsHdr = $('#tweetsCont h3');
        trendsHdr.html('');
        $('#tweetsCont h3').html($this.text());
        var params = {
            q: $this.text(),
            rpp: 10
        };
        searchTwitter(params);
    });

    $('#submit').click(function () {
        var trendsHdr = $('#tweetsCont h3');
        var trends = $('#currentTrends');
        var local = $('#currentTrendsCont h3');
        local.html('');
        trendsHdr.html('');
        trends.html('');
        $('#tweetsCont h3').html('search query: '+$('#query').val());
        var params = {
            q: $('#query').val(),
            rpp: 10
        };
        searchTwitter(params);
    });

    // Globals
    var localeID = new Array();

    // Init
    getLocales();

});
于 2013-03-06T13:31:15.073 回答