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?


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.


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.


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}


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.


@ 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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.