Twitter API Javascript扩展模式

时间:2018-05-30 19:58:12

标签: javascript json node.js twitter

我正在使用带有Javascript的twitter流API来收集推文。问题是我没有使用扩展模式,当它超过140个字符时我没有得到完整的推文。我搜索了信息,发现我需要在请求中传递tweet_mode = extended,响应将包含full_text,这是完整的推文。问题是我不知道在哪里写tweet_mode = extended。这是我的代码:

    twitter.stream('statuses/filter', {track: word, function (stream) {
            stream.on('data', function (tweet) {
                 console.log(tweet.text)
            });
            stream.on('error', function (error) {
                console.log("error:", error);
            })
        })

2 个答案:

答案 0 :(得分:1)

正如Van所说,流媒体API中的推文是混合的。所以你可以试试这个:

twitter.stream('statuses/filter', {track: word, function (stream) {
        stream.on('data', function (tweet) {
             let text = tweet.extended_tweet?tweet.extended_tweet.full_text:tweet.full_text?tweet.full_text:tweet.text;
             console.log(text)
        });
        stream.on('error', function (error) {
            console.log("error:", error);
        })
    })

答案 1 :(得分:0)

不幸的是,流API没有添加tweet_mode参数的选项

此处的文档:https://developer.twitter.com/en/docs/tweets/tweet-updates

本段值得关注:

  

Streaming API不提供提供查询的相同功能   用于配置请求选项的参数。因此,Streaming API   此时以兼容模式呈现所有推文。

     

...

     

Streaming API使用者应该更新他们的代码以便首先检查   存在extended_tweet字典,并使用它   对截断数据的偏好适用于其用例。   当extended_tweet不存在时,它们必须回退到使用   现有领域。