Node js - Twitter Премиум API для поиска - поиск по URL - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь найти t.co (обязательное сокращение URL-адреса для твиттеров) с использованием API-интерфейсов Premium Search для твиттеров. Используя стандартный API поиска, я могу получить результаты, но с API премиум-класса у меня проблемы.

Я использую пакет twitter npm.

const Twitter = require('twitter')
const client = new Twitter({
  consumer_key: '...',
  consumer_secret: '...',
  access_token_key: '...',
  access_token_secret: '...'
})

... это то, что работает при вызове стандартного API поиска:

client.get('search/tweets', { q: 'https://t.co/ qwjhdxDp9z' }, function(error, tweets, response) {
  console.log(tweets)
})

... но это, используя API расширенного поиска, завершается ошибкой

let uri = 'https://t.co/ qwjhdxDp9z'
let res = encodeURIComponent(uri)

client.get('tweets/search/fullarchive/prod', { query: uri, fromDate: '200603220000', toDate: '201910141338' }, function(error, tweets, response) {
  console.log(tweets)
})

Я предполагаю, что это приводит к сбою URLкодирование, но если я не закодирую URL, он возвращает эту ошибку:

сообщение: «При обработке вашего запроса произошли ошибки: нет подходящей альтернативы в символе \ '/ \' (в позиции 7), нет подходящей альтернативы для символа \ '/ \' (в позиции 8)

При использовании вышеуказанного подхода поиск нормальной строки, такой как banana, работает нормально, просто при поиске URL-адресов этоУ меня есть проблемы.

*note I have edited the twitter urls above with a space as I'm not allowed to post URL shorteners here

ОБНОВЛЕНИЕ: для структурирования вышеуказанных поисковых запросов я использую информацию из документации по API поиска в Твиттере здесь: https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search

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