Расширенный API Javascript API Twitter - PullRequest
0 голосов
/ 30 мая 2018

Я использую Twitter Stream API с Javascript для сбора твитов.Проблема в том, что я не использую расширенный режим, и я не получаю полный твит, когда его длина превышает 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 голосов
/ 31 мая 2018

Как сказал Ван, твиты в потоковом 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);
        })
    })
0 голосов
/ 30 мая 2018

К сожалению, API потоковой передачи не имеет возможности добавить параметр tweet_mode

Документация здесь: https://developer.twitter.com/en/docs/tweets/tweet-updates

Этот параграф заслуживает вашего внимания:

Streaming API не предоставляет такую ​​же возможность предоставлять параметры запроса для настройки параметров запроса.Поэтому API потоковой передачи в данный момент отображает все твиты в режиме совместимости.

...

Потребители API потоковой передачи должны обновить свой код, чтобы сначала проверить наличие словаря extended_tweet, и использоватьчто предпочтительнее усеченных данных, что применимо для их варианта использования.Когда extended_tweet отсутствует, они должны использовать существующие поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...