URL de um link para o Twitter para um tweet específico

87

Tenho algum Javascript que usa a API do Twitter para obter tweets. Eu analiso os dados e uso jQuery para gerar HTML para o DOM.

Um aspecto do que desejo exibir é um link "Ver este tweet" - sim, meio que parece bobo, mas permite que um usuário obtenha uma URL para um tweet específico.

Estou gerando uma tag a com um href. O URL tem o formato:

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

onde o conteúdo entre chaves são dados reais extraídos do tweet (não, não estou incluindo as chaves). Por exemplo:

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

O que acontece na operação é que isso funciona para alguns tweets, mas não para outros. Para aqueles que falham, o servidor Twitter responde com conteúdo dizendo que a página solicitada não existe.

Estou fazendo algo errado?

Zhami
fonte
1
Sim, eu estava fazendo algo errado - não estava extraindo o ID da string. Foi mal. Desculpe pelo barulho.
Zhami

Respostas:

157

https://twitter.com/statuses/IDDeveria trabalhar.
ele irá redirecionar para o status necessário.

Sagiv Ofek
fonte
31
Isso não funciona em dispositivos móveis, use a forma mais longa se quiser um link que pode ser aberto no celular: twitter.com/twitter-user-screen-name/status/tweet-id-str
UKatz
1
@UKatz infelizmente esse link parece quebrado :(
clapas
1
@clapas Acho que é apenas um URL de exemplo, que você substituiria twitter-user-screen-namee tweet-id-strcom os valores apropriados para um link de trabalho.
Thomas Foster
Isso funciona no navegador do computador. No entanto, se você estiver usando um dispositivo móvel, o servidor Twitter irá redirecioná-lo automaticamente para https://mobile.twitter.com/statuses/ID, o que leva a uma página de erro. Portanto, a solução geral ainda é https://twitter.com/{twitter-user-id}/status/{tweet-status-id}.
Owen Zhao
47

FYI: id_str é a variável que você precisa chamar em vez de id

id_str deve ser retirado do objeto de tweet e substituído em https://twitter.com/statuses/[id_str]

Trevor Jordet
fonte
2
demorei um pouco para descobrir que você quer dizer que id_strdeve ser retirado do objeto do tweet e inserido como o ID da resposta do sagivo:https://twitter.com/statuses/[id_str]
Dominic
1
Isso só é necessário para JavaScript e outros ambientes que não suportam inteiros de 64 bits
chribsen
46

Infelizmente, todas as respostas fornecidas até agora dependem de um redirecionamento HTTP.

O link direto tem o formato: https://twitter.com/i/web/status/ {tweet-status-id}

Jeff Puckett
fonte
2
esta é a única solução que funciona para ambos sem ter que fornecer explicitamente o nome de usuário (que é volátil se você me perguntar ... nada como tornar órfãos todos os seus links por capricho de um usuário ...). Dito isso, alguém sabe se isso é "compatível" ... parece
estranho
Isso também é o que o próprio Twitter usa quando coloca a URL dentro do tweet (API de streaming). Muito fácil sem construir o URL com base no UserID.
Maziyar
4

Você pode usar

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

Pawan Kotak
fonte
3

Eu tentei isso. Funciona bem: - Web: https://twitter.com/statuses/ID - Mobile && Web: https://twitter.com/User_ID/statuses/Tweet_ID

Espero que seja útil para você.

Kiều Văn Thái
fonte
A resposta @seyfi-dertli inclui celular, mas também funciona para desktop.
Leopold Joy
Você já tentou ??? Se você não tem id_user, você só usa id_tweet com web. E twitter.com/User_ID/statuses/ID vai exatamente com todos.
Kiều Văn Thái
A solução de @Jeff Puckett funciona para mim na web e no celular.
Leopold Joy