URL per un collegamento a Twitter per un tweet specifico


87

Ho alcuni JavaScript che utilizzano l'API di Twitter per ricevere i tweet. Analizzo i dati e utilizzo jQuery per generare HTML per il DOM.

Un aspetto di ciò che voglio mostrare è un collegamento "Visualizza questo tweet" - sì, sembra quasi sciocco, ma consente a un utente di ottenere un URL per un tweet specifico.

Sto generando un tag con un href. L'URL ha la forma:

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

dove il contenuto tra parentesi graffe è dato effettivo estratto dal tweet (no, non sto includendo le parentesi graffe). Per esempio:

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

Ciò che accade durante il funzionamento è che funziona per alcuni tweet, ma non per altri. Per quelli che falliscono, il server Twitter risponde con un contenuto che dice che la pagina richiesta non esiste.

Sto facendo qualcosa di sbagliato?


1
Sì, stavo facendo qualcosa di sbagliato: non stavo estraendo l'ID stringa. Colpa mia. Scusa per il rumore.
Zhami

Risposte:


155

https://twitter.com/statuses/IDdovrebbe funzionare.
reindirizzerà allo stato necessario.


31
Questo non funziona sui dispositivi mobili, usa il modulo più lungo se vuoi un link che può essere aperto dal cellulare: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz

2
@UKatz purtroppo quel collegamento sembra interrotto :(
clapas

1
@clapas Penso che sia solo un URL di esempio, sostituiresti twitter-user-screen-namee tweet-id-strcon i valori appropriati per un collegamento funzionante.
Thomas Foster

Funziona sul browser del computer. Tuttavia, se utilizzi un dispositivo mobile, il server Twitter lo reindirizzerà automaticamente a https://mobile.twitter.com/statuses/ID, il che porta a una pagina di errore. Quindi la soluzione complessiva è ancora https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao

Anche questo non funziona sui browser macOS, è necessario l'ID utente di Twitter come da dispositivo mobile
mmmmmm

52

Sfortunatamente, tutte le risposte fornite finora si basano su un reindirizzamento HTTP.

Il collegamento diretto è nel formato: https://twitter.com/i/web/status/ {tweet-status-id}


2
questa è l'unica soluzione che funziona per entrambi senza dover fornire esplicitamente il nome utente (che è volatile se me lo chiedi ... niente come rendere orfani tutti i tuoi link per capriccio di un utente ...). detto questo, qualcuno sa se questo è "supportato" ... sembra hacky ...
nokturnal

1
Questo è anche ciò che Twitter stesso usa quando inserisce l'URL all'interno del tweet (Streaming API). Molto semplice senza costruire l'URL basato su UserID.
Maziyar

46

FYI: id_str è la variabile che devi chiamare invece di id

id_str dovrebbe essere preso dall'oggetto tweet e sostituito in https://twitter.com/statuses/[id_str]


2
Mi ci è voluto un momento per capire che vuoi dire che id_strdovrebbe essere preso dall'oggetto tweet e inserito come ID della risposta di sagivo:https://twitter.com/statuses/[id_str]
Dominic

1
Questo è necessario solo per JavaScript e altri ambienti che non supportano interi a 64 bit
chribsen



3

L'ho provato. Funziona bene: - Web: https://twitter.com/statuses/ID - Mobile e Web: https://twitter.com/User_ID/statuses/Tweet_ID

Spero sia utile per te.


La risposta di @ seyfi-dertli include dispositivi mobili ma funziona anche per desktop.
Leopold Joy

Hai già provato ??? Se non hai id_user, usi id_tweet solo con web. E twitter.com/User_ID/statuses/ID sarà esattamente con tutti.
Kiều Văn Thái

La soluzione di @Jeff Puckett funziona per me sia sul Web che sui dispositivi mobili.
Leopold Joy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.