在客户端Meteor js上显示twit流

时间:2014-03-18 17:11:37

标签: javascript meteor twitter

大家好

我正在开发一个应用程序,它将使用Meteor.js和Twit在浏览器中显示来自某个主题标签的twwets。 我实际上需要显示从服务器到客户端的Twit流。我实际上已经将流的启动和停止放在流星方法中,只有当我处于良好的客户端视图时才激活它们,但是console.log()仅在服务器端运行。

这是我的代码:

服务器端

    var Twit = Meteor.require('twit');
    var T = new Twit({
        consumer_key:         '...',
        consumer_secret:      '...',
        access_token:         '...',
        access_token_secret:  '...'
    });

    var stream;

    Meteor.methods({
        stream: function(hashtag) {
            //Initialisation
            stream = T.stream('statuses/filter', { track: hashtag });

            // stream launch
            stream.on('tweet', function (tweet) {

                //Console log for testing
                console.log(tweet.user.name+" a tweeté ceci: "+tweet.text+" le "+tweet.created_at);
                console.log("=========================================");

            });
        }, 
        streamStop: function() {
            stream.stop();
        }
    });

客户端

    Template.hashtagPage.rendered = function() {
        var hashtag = document.getElementById('hashtag').innerHTML;
        // Récupère les ID pour le stream
        Meteor.call('stream', hashtag);
    };

    // Stop le stream quand on quitte la page
    Template.hashtagPage.destroyed = function(){
        Meteor.call('streamStop');
    };

您可以在此处找到 Twit https://github.com/ttezel/twit

我的 git repo 如果您需要:https://github.com/ABattut/croisillon/commits?author=ABattut

我尝试了一些解决方案,比如创建一个将T对象返回给客户端的函数,徒劳无功。将推文返回给客户端并显示它。我也试图使用Fiber(就像谷歌的一些问题中所见)。

我不知道怎么做。我正在寻找一个解决方案来解决console.log()客户端的Twit流,或者直接在HTML中显示它们的方式(这将是最好的)。

感谢您阅读和回答。

1 个答案:

答案 0 :(得分:0)

只需将推文添加到客户端和服务器上可用的Meteor.Collection,并且客户端上的合适光标将为您提供最新的推文,以便在HTML,控制台或任何地方显示

您必须在插入时向推文添加时间戳,或者可能操纵twitterCreated字段以允许您按到达时间排序并允许定期删除旧推文。