URL d'un lien vers Twitter pour un tweet spécifique


87

J'ai du Javascript qui utilise l'API Twitter pour obtenir des tweets. J'analyse les données et j'utilise jQuery pour générer du HTML pour le DOM.

Un aspect de ce que je veux afficher est un lien "Afficher ce tweet" - ouais, un peu semble idiot, mais il permet à un utilisateur d'obtenir une URL pour un tweet spécifique.

Je génère un tag avec un href. L'URL est de la forme:

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

où le contenu entre accolades est des données réelles extraites du tweet (non, je n'inclut pas les accolades). Par exemple:

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

Ce qui se passe en fonctionnement, c'est que cela fonctionne pour certains tweets, mais pas pour d'autres. Pour ceux qui échouent, le serveur Twitter répond avec un contenu indiquant que la page demandée n'existe pas.

Est-ce que je fais quelque chose de mal?


1
Oui, je faisais quelque chose de mal - je n'extrayais pas l'ID de chaîne. Ma faute. Désolé pour le bruit.
Zhami

Réponses:


155

https://twitter.com/statuses/IDdevrait marcher.
il redirigera vers l'état requis.


31
Cela ne fonctionne pas sur les appareils mobiles, utilisez le formulaire plus long si vous voulez un lien qui peut être ouvert depuis un mobile: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz

2
@UKatz malheureusement ce lien semble rompu :(
clapas

1
@clapas Je pense que ce n'est qu'un exemple d'URL, vous substitueriez twitter-user-screen-nameet tweet-id-stravec les valeurs appropriées pour un lien de travail.
Thomas Foster

Cela fonctionne sur le navigateur de l'ordinateur. Cependant, si vous utilisez un appareil mobile, le serveur Twitter le redirigera automatiquement vers https://mobile.twitter.com/statuses/ID, ce qui conduit à une page d'erreur. Donc, la solution globale est toujours https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao

Cela échoue également sur les navigateurs macOS, vous avez besoin de twitter-user-id selon mobile
mmmmmm

52

Malheureusement, toutes les réponses fournies jusqu'à présent reposent sur une redirection HTTP.

Le lien direct est de la forme: https://twitter.com/i/web/status/ {tweet-status-id}


2
c'est la seule solution qui fonctionne pour les deux sans avoir à fournir explicitement le nom d'utilisateur (ce qui est volatile si vous me le demandez ... rien de tel que de rendre orphelins tous vos liens au gré d'un utilisateur ...). Cela dit, ce que sait si cela est « soutenu » ... il semble hacky ...
Nokturnal

1
C'est également ce que Twitter utilise lui-même lorsqu'il met l'URL dans le tweet (Streaming API). Très facile sans construire l'URL basée sur UserID.
Maziyar

46

FYI: id_str est la variable que vous devez appeler au lieu de id

id_str doit être extrait de l'objet tweet et remplacé dans https://twitter.com/statuses/[id_str]


2
m'a pris un moment pour comprendre que vous voulez dire que vous id_strdevriez être extrait de l'objet tweet et entré comme ID de la réponse de sagivo:https://twitter.com/statuses/[id_str]
Dominic

1
Ceci n'est nécessaire que pour JavaScript et d'autres environnements qui ne prennent pas en charge les entiers 64 bits
chribsen



3

J'ai essayé. Cela fonctionne bien: - Web: https://twitter.com/statuses/ID - Mobile && Web: https://twitter.com/User_ID/statuses/Tweet_ID

J'espère que cela vous sera utile.


@ seyfi-dertli answer inclut le mobile mais fonctionne également pour le bureau.
Leopold Joy du

Avez-vous déjà essayé ??? Si vous n'avez pas id_user, vous n'utilisez id_tweet qu'avec web. Et twitter.com/User_ID/statuses/ID sera exactement avec tout.
Kiều Văn Thái

La solution de @Jeff Puckett fonctionne pour moi à la fois sur le Web et sur mobile.
Leopold Joy
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.