使用JavaScript调用Twitter Stream API时,如何添加tweet_mode=extended获取完整长推文?
解决Twitter Stream API获取完整长推文的问题
嘿,这个问题很好解决!你只需要把tweet_mode=extended参数添加到请求的配置对象里就行——就是你现在传track: word的那个对象。
修改后的代码示例
twitter.stream('statuses/filter', { track: word, tweet_mode: 'extended' }, // 把tweet_mode参数加在这里! function (stream) { stream.on('data', function (tweet) { // 注意这里要改用full_text字段,而不是原来的text console.log(tweet.full_text); // 额外提醒:如果是转发的推文,原始推文的完整内容会在retweeted_status里 if (tweet.retweeted_status) { console.log("转发的原始完整推文:", tweet.retweeted_status.full_text); } }); stream.on('error', function (error) { console.log("error:", error); }) } )
关键点说明
- 参数位置:
tweet_mode: 'extended'必须和track同属一个配置对象,作为twitter.stream的第二个参数传入,这样API才会识别并返回完整的推文内容。 - 字段切换:启用extended模式后,原来的
tweet.text会是截断版内容,取而代之的tweet.full_text字段才是超过140字符的完整推文。 - 转发推文处理:如果是转发的推文,原始推文的完整内容会存放在
tweet.retweeted_status.full_text里,你可以根据需求判断是否需要获取这部分内容。
内容的提问来源于stack exchange,提问作者isanma
相关产品推荐
相关产品推荐

