javascript - PubNub Twitter 数据流设置不返回数据

标签 javascript api d3.js twitter pubnub

尝试使用 D3 将推文映射到世界地图上,并首次使用 PubNub 来获取实时数据流。设置时遇到问题并得到以下代码:

var margin = {top: 20, right: 20, bottom: 20, left: 20};

var w = 1100 - margin.left - margin.right,
    h = 900 - margin.top - margin.bottom;

var svg = d3.select("#chart")
            .append("svg")
              .attr("width", w + margin.left + margin.right)
              .attr("height", h + margin.top + margin.bottom)
            .append("g")
              .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var geoData = "https://raw.githubusercontent.com/johan/world.geo.json/master/countries.geo.json";

d3.json(geoData, function(data){

    var geo = data.features;

    var projection = d3.geo.mercator()
                       .scale(150)
                       .translate([w/2,h/2]);

    var path = d3.geo.path()
                     .projection(projection);

    svg.selectAll("path")
       .data(geo)
       .enter()
       .append("path")
       .attr("fill", "#95E1D3")
       .attr("stroke", "#34495e")
       .attr("stroke-width", 0.5)
       .attr("class", function(d){ return d.properties.name})
       .attr("d", path);

var pubnub = new PubNub({

     subscribeKey : "my key"

   });

    pubnub.subscribe({

    channels: ['pubnub-twitter'],

    withPresence: true

     });

   pubnub.addListener({

    message: function(m) {

        console.log(m);    

    },

   presence: function(p){

     console.log(p);

   },

   status: function(s){

     console.log(s);

   }

  })


})

我希望它将消息打印到控制台,但什么也没有发生。使用 PubNub v4。有人可以帮我吗?

这是一个可用的 Codepen:

http://codepen.io/chemok78/full/mRjXzb/

最佳答案

Twitter 示例源流式推文

下面的示例将在 console.log() 中打印所有推文。您可以通过单击“运行代码片段”按钮自行测试。您将在控制台中看到一系列推文。

// Create PubNub Socket Handler
const pubnub = new PubNub({
    publishKey   : 'empty'
,   ssl          : true
,   subscribeKey : 'sub-c-78806dd4-42a6-11e4-aed8-02ee2ddab7fe'
});

// Subscribe to Twitter feed
console.log("Subscribing to Live Twitter Stream.");
pubnub.subscribe({ channels: ['pubnub-twitter'] });

// Add Socket Event Function Handlers
pubnub.addListener({
    status  : statusEvent => console.log(statusEvent)
,   message : message     => console.log(message)
});
<script src="https://cdn.pubnub.com/sdk/javascript/pubnub.4.4.2.min.js"></script>

PubNub 在 2014 年发布了一篇博客,演示 how to analyze tweets from Twitter's Firehose .

Twitter Tweet Feed Stream

关于javascript - PubNub Twitter 数据流设置不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086167/

相关文章:

javascript - 如何使 d3 饼图响应式?

javascript - 在 D3.js (V4) 中创建分类折线图

javascript - 在移动设备上,如何获取 "enter"以在类型 ="number"输入中提交表单?

javascript - 为什么我的 SUBSTRING 或 LEFT SQL 查询不显示

azure - Karate API 测试 - 承载错误 ="invalid_token",error_description ="The audience <number> is invalid"

ruby - 如何在 Grape 中定义哈希数组?

api - 如何从 Github API 请求仅与 Github 上存储库问题相关的某些字段的值?

javascript - 层次结构返回 NaN 的高度和长度

javascript - 使用 Google Earth Engine 计算每个地区、月份和年份的 NDVI?

javascript - 如何打印控制台登录变量?