URL für einen Link zu Twitter für einen bestimmten Tweet

87

Ich habe Javascript, das die Twitter-API verwendet, um Tweets zu erhalten. Ich analysiere die Daten und verwende jQuery, um HTML für das DOM zu generieren.

Ein Aspekt dessen, was ich anzeigen möchte, ist ein Link "Diesen Tweet anzeigen" - ja, irgendwie klingt das albern, aber es ermöglicht einem Benutzer, eine URL für einen bestimmten Tweet abzurufen.

Ich generiere ein Tag mit einem href. Die URL hat die Form:

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

wobei der Inhalt in geschweiften Klammern tatsächliche Daten sind, die aus dem Tweet extrahiert wurden (nein, ich schließe die geschweiften Klammern nicht ein). Beispielsweise:

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

Was im Betrieb passiert, ist, dass dies für einige Tweets funktioniert, für andere jedoch nicht. Für diejenigen, die fehlschlagen, antwortet der Twitter-Server mit Inhalten, die besagen, dass die angeforderte Seite nicht vorhanden ist.

Mache ich etwas falsch?

Zhami
quelle
1
Ja, ich habe etwas falsch gemacht - ich habe die Zeichenfolgen-ID nicht extrahiert. Mein Fehler. Entschuldigung für den Lärm.
Zhami

Antworten:

158

https://twitter.com/statuses/IDsollte arbeiten.
Es wird zum gewünschten Status umgeleitet.

Sagiv Ofek
quelle
30
Dies funktioniert nicht auf Mobilgeräten. Verwenden Sie das längere Formular, wenn Sie einen Link wünschen, der von Mobilgeräten aus geöffnet werden kann: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz
1
@ UKatz leider scheint dieser Link gebrochen :(
Clapas
1
@clapas Ich denke , dass nur ein Beispiel - URL ist, würde ersetzen Sie twitter-user-screen-nameund tweet-id-strmit den entsprechenden Werten für einen funktionierenden Link.
Thomas Foster
Dies funktioniert im Computerbrowser. Wenn Sie jedoch ein mobiles Gerät verwenden, leitet der Twitter-Server es automatisch weiter https://mobile.twitter.com/statuses/ID, was zu einer Fehlerseite führt. Die Gesamtlösung ist also immer noch https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao
47

Zu Ihrer Information: id_str ist die Variable, die Sie anstelle von id aufrufen müssen

id_str sollte aus dem Tweet-Objekt entnommen und in https://twitter.com/statuses/[id_str] ersetzt werden.

Trevor Jordet
quelle
2
Ich brauchte einen Moment, um herauszufinden, dass Sie meinen id_str, aus dem Tweet-Objekt genommen und als ID von Sagivos Antwort eingegeben werden sollte:https://twitter.com/statuses/[id_str]
Dominic
1
Dies ist nur für JavaScript und andere Umgebungen erforderlich , die keine 64-Bit-Ganzzahlen unterstützen
chribsen
45

Leider basieren alle bisher bereitgestellten Antworten auf einer HTTP-Umleitung.

Der direkte Link hat die Form: https://twitter.com/i/web/status/ {tweet-status-id}

Jeff Puckett
quelle
2
Dies ist die einzige Lösung, die für beide funktioniert, ohne dass der Benutzername explizit angegeben werden muss (was flüchtig ist, wenn Sie mich fragen ... nichts wie das Verwaisen aller Ihrer Links nach Lust und Laune eines Benutzers ...). das heißt, weiß jemand, ob dies "unterstützt" wird ... es scheint hacky ...
nokturnal
Dies wird auch von Twitter selbst verwendet, wenn die URL in den Tweet eingefügt wird (Streaming-API). Sehr einfach, ohne die URL basierend auf der Benutzer-ID zu erstellen.
Maziyar
3

Ich habe es versucht. Es funktioniert gut: - Web: https://twitter.com/statuses/ID - Mobile && Web: https://twitter.com/User_ID/statuses/Tweet_ID

Ich hoffe es ist hilfreich für dich.

Kiều Văn Thái
quelle
@ seyfi-dertli Antwort beinhaltet Handy, funktioniert aber auch für Desktop.
Leopold Joy
Hast du es schon versucht ??? Wenn Sie keinen id_user haben, verwenden Sie id_tweet nur mit dem Web. Und twitter.com/User_ID/statuses/ID wird genau mit allen.
Kiều Văn Thái
Die Lösung von @Jeff Puckett funktioniert sowohl im Web als auch auf Mobilgeräten.
Leopold Joy
3

Sie können verwenden

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

Pawan Kotak
quelle