URL-адрес ссылки на Twitter для конкретного твита

87

У меня есть Javascript, который использует Twitter API для получения твитов. Я анализирую данные и использую jQuery для создания HTML для DOM.

Аспектом того, что я хочу отобразить, является ссылка «Просмотреть этот твит» - да, звучит глупо, но она позволяет пользователю получить URL-адрес для конкретного твита.

Я создаю тег с href. URL-адрес имеет вид:

http://twitter.com/{twitter-user-id}/status/{tweet-status-id}

где содержимое в фигурных скобках - это фактические данные, извлеченные из твита (нет, я не включаю фигурные скобки). Например:

http://twitter.com/Atechtrader/status/57432099984130050

В процессе работы это работает для одних твитов, но не для других. В случае сбоя сервер Twitter отвечает контентом, в котором говорится, что запрошенная страница не существует.

Я делаю что-то неправильно?

Жами
источник
1
Да, я что-то делал не так - я не извлекал идентификатор строки. Виноват. Извините за шум.
Zhami

Ответы:

155

https://twitter.com/statuses/IDдолжно сработать.
он перенаправит на нужный статус.

Сагив Офек
источник
31
Это не работает на мобильных устройствах, используйте более длинную форму, если вам нужна ссылка, которую можно открыть с мобильного: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz
2
@UKatz, к сожалению, эта ссылка не работает :(
clapas
1
@clapas Я думаю , что это просто пример URL, вы бы заменить twitter-user-screen-nameи tweet-id-strс соответствующими значениями для рабочего звена.
Томас Фостер
Это работает в браузере компьютера. Однако, если вы используете мобильное устройство, сервер Twitter автоматически перенаправит его на него https://mobile.twitter.com/statuses/ID, что приведет к странице с ошибкой. Так что окончательное решение по-прежнему https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao
Это также не работает в браузерах MacOS, вам нужен идентификатор пользователя twitter-user-id в соответствии с мобильным телефоном
мммммм
52

К сожалению, все ответы, представленные до сих пор, основаны на перенаправлении HTTP.

Прямая ссылка имеет вид: https://twitter.com/i/web/status/ {tweet-status-id}.

Джефф Пакетт
источник
2
это единственное решение, которое работает для обоих без необходимости явно указывать имя пользователя (которое непостоянно, если вы спросите меня ... ничего похожего на то, чтобы осиротить все ваши ссылки по прихоти пользователя ...). при этом, знает ли кто-нибудь, «поддерживается» ли это ... это кажется хакерским ...
nokturnal
1
Это также то, что использует сам Twitter, когда помещает URL-адрес в твит (Streaming API). Очень просто, не создавая URL на основе UserID.
Maziyar
46

К вашему сведению: id_str - это переменная, которую вам нужно вызвать вместо id

id_str следует взять из объекта твита и заменить в https://twitter.com/statuses/[id_str]

Тревор Джордет
источник
2
мне потребовалось время, чтобы понять, что вы имеете в виду, что его id_strследует взять из объекта твита и ввести в качестве идентификатора ответа sagivo:https://twitter.com/statuses/[id_str]
Доминик
1
Это необходимо только для JavaScript и других сред, которые не поддерживают 64-битные целые числа
chribsen
15

Вы можете использовать как:

http://twitter.com/itdoesnotmatter/status/[YOURID]

Перенаправление Twitter на основе идентификатора статуса, а не имени пользователя.

Он работает как для настольных компьютеров, так и для мобильных устройств.

Сейфи Дертли
источник
Спасибо, у меня были проблемы с twitter.com/statuses/[id_str] на мобильных устройствах , но ваше решение работает на мобильных устройствах;)
Кристиан Навело
5

Ты можешь использовать

'https://www.twitter.com/'+ user.screen_name+'/status/' + id_str

Паван Котак
источник
3

Я пробовал. Работает хорошо: - Интернет: https://twitter.com/statuses/ID - Мобильный и веб-сайт: https://twitter.com/User_ID/statuses/Tweet_ID

Надеюсь, это поможет вам.

Кицу Ван Тай
источник
Ответ @ seyfi-dertli включает мобильные устройства, но также работает для настольных компьютеров.
Леопольд Джой
Вы еще не пробовали ??? Если у вас нет id_user, вы используете id_tweet только с web. И twitter.com/User_ID/statuses/ID точно будет со всеми.
Kiều Văn Thái
Решение @Jeff Puckett работает для меня как в Интернете, так и на мобильных устройствах.
Леопольд Джой