Adres URL łącza do Twittera dla konkretnego tweeta

87

Mam JavaScript, który używa Twitter API do pobierania tweetów. Analizuję dane i używam jQuery do generowania HTML dla DOM.

Aspektem tego, co chcę wyświetlić, jest link „Wyświetl ten tweet” - tak, trochę głupio brzmi, ale umożliwia użytkownikowi uzyskanie adresu URL określonego tweeta.

Generuję tag z href. Adres URL ma postać:

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

gdzie treść w nawiasach klamrowych to rzeczywiste dane wyodrębnione z tweeta (nie, nie uwzględniam nawiasów klamrowych). Na przykład:

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

Podczas pracy działa to w przypadku niektórych tweetów, ale nie innych. W przypadku niepowodzenia serwer Twittera odpowiada treścią, która mówi, że żądana strona nie istnieje.

czy robię coś źle?

Zhami
źródło
1
Tak, robiłem coś nie tak - nie wyciągałem identyfikatora ciągu. Mój błąd. Przepraszam za hałas.
Zhami

Odpowiedzi:

155

https://twitter.com/statuses/IDpowinno działać.
przekieruje do wymaganego statusu.

Sagiv Ofek
źródło
31
To nie działa na urządzeniach mobilnych, użyj dłuższego formularza, jeśli chcesz uzyskać link, który można otworzyć z telefonu komórkowego: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz
2
@UKatz niestety ten link wygląda na uszkodzony :(
clapas
1
@clapas myślę, że to tylko przykład adres URL, należy zastąpić twitter-user-screen-namei tweet-id-strz odpowiednimi wartościami dla związku zawodowego.
Thomas Foster,
Działa to w przeglądarce komputera. Jeśli jednak korzystasz z urządzenia mobilnego, serwer Twittera automatycznie przekieruje je na https://mobile.twitter.com/statuses/ID, co prowadzi do strony błędu. Więc ogólne rozwiązanie jest nadal https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao
To również zawodzi w przeglądarkach macOS, potrzebujesz identyfikatora użytkownika twittera zgodnie z urządzeniem mobilnym
mmmmmm
52

Niestety, wszystkie dotychczas udzielone odpowiedzi opierają się na przekierowaniu HTTP.

Bezpośredni link ma postać: https://twitter.com/i/web/status/ {tweet-status-id}

Jeff Puckett
źródło
2
jest to jedyne rozwiązanie, które działa dla obu bez konieczności jawnego podawania nazwy użytkownika (która jest niestabilna, jeśli mnie o to poprosisz ... nie ma to jak osierocenie wszystkich linków z kaprysu użytkownika ...). powiedział, że nie ma jednego wiem czy to jest „obsługiwany” ... wydaje się hacky ...
Nokturnal
1
Tego również używa sam Twitter, gdy umieszcza adres URL w tweecie (Streaming API). Bardzo łatwe bez tworzenia adresu URL na podstawie identyfikatora użytkownika.
Maziyar
46

FYI: id_str to zmienna, którą musisz wywołać zamiast id

id_str należy pobrać z obiektu tweeta i zastąpić w https://twitter.com/statuses/[id_str]

Trevor Jordet
źródło
2
zajęło mi chwilę stwierdzenie, że masz na myśli, że id_strpowinno być wyjęte z obiektu tweeta i wprowadzone jako identyfikator odpowiedzi sagivo:https://twitter.com/statuses/[id_str]
Dominic
1
Jest to konieczne tylko w przypadku JavaScript i innych środowisk, które nie obsługują 64-bitowych liczb całkowitych
chribsen,
15

Możesz użyć takich jak:

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

Przekierowanie na Twittera na podstawie identyfikatora statusu, a nie nazwy użytkownika.

Działa na komputerach stacjonarnych i urządzeniach mobilnych.

Seyfi Dertli
źródło
Dzięki, miałem problem na telefonie komórkowym z twitter.com/statuses/[id_str] , ale Twoje rozwiązanie działa na telefonie komórkowym;)
Christian Navelot
5

Możesz użyć

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

Pawan Kotak
źródło
3

Próbowałem tego. Działa dobrze: - Internet: https://twitter.com/statuses/ID - Mobile && Internet: https://twitter.com/User_ID/statuses/Tweet_ID

Mam nadzieję, że jest to pomocne dla Ciebie.

Kiều Văn Thái
źródło
@ seyfi-dertli odpowiedź obejmuje telefony komórkowe, ale działa również na komputerach stacjonarnych.
Leopold Joy
Czy próbowałeś już ??? Jeśli nie masz id_user, używasz id_tweet tylko z web. A twitter.com/User_ID/statuses/ID będzie dokładnie ze wszystkimi.
Kiều Văn Thái
Rozwiązanie @Jeff Puckett działa dla mnie zarówno w przeglądarce, jak i na urządzeniach mobilnych.
Leopold Joy