Какой URL-адрес вы должны использовать для встроенного API Twitter?

#javascript #api #twitter #oembed

#javascript #API #Twitter #oembed

Вопрос:

Я пытаюсь вставлять твиты на основе поисковых запросов пользователей.

Я могу получать твиты из поискового API Twitter, но тогда ни один из URL-адресов, которые я получаю в ответе twitter, не совместим с встроенным API, поэтому я не могу отображать твиты, которые я получаю.

Я отправляю GET на https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE} , и вот все URL-адреса, которые я получаю обратно:

 display_url: "twitter.com/i/web/status/1…"
expanded_url: "https://twitter.com/i/web/status/1328842765115920384"
url: [shortened URL that Stack Overflow will not let me print]
 

Однако для встроенного API URL-адрес должен быть в формате https://twitter.com/[username]/status/[id] .

Кто-нибудь может помочь относительно того, как я могу использовать api поиска, а затем отображать эти твиты на экране?

Ответ №1:

Здесь важно то, что вы извлекли усеченные твиты, и вам нужен полный твит, чтобы иметь правильный URL.

Прежде всего, добавьте ?tweet_mode=extended к вызову API. Этот параметр необходим в API версии v1.1 для получения твитов длиной более 140 символов.

GET https://api.twitter.com/1.1/search/tweets.json?q=${VARIABLE}amp;tweet_mode=extended

Как только вы это сделаете, у вас будет полный объект Tweet. Однако он не будет содержать ссылку на себя — единственная причина, по которой у вас была ссылка раньше, это то, что вы извлекали усеченный твит, поэтому API вернул ссылку на полный твит.

Способ создания исходного URL-адреса твита — объединить идентификатор твита с URL-адресом статуса Twitter. Не имеет значения, какое имя пользователя вы вводите, потому что Twitter разрешит это из идентификатора.

Итак, в этом случае у вас есть идентификатор твита 1328842765115920384 , и вы можете добавить его к https://twitter.com/twitter/status/ to give https://twitter.com/twitter/status/1328842765115920384 , который будет разрешен https://twitter.com/Ashton5SOS/status/1328842765115920384 автоматически.

Передайте этот URL-адрес в publish.twitter.com Встроенная конечная точка.

В этом сообщении разработчика есть больше информации.