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?


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.


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}


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]


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,



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.


@ 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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.