Quando Twitter ha rilasciato la funzione Messaggi diretti, non è stato possibile recuperare vecchi messaggi a causa di scelte tecniche e limitazioni. Tuttavia, non sono mai stati eliminati ed è ora possibile leggere i messaggi pubblicati in una conversazione utilizzando Messaggi diretti.
Purtroppo, i DM non fanno parte del tuo archivio (perché immagino che avrebbe bisogno di contenere i tweet di altre persone delle tue conversazioni per avere un senso). Di conseguenza, la risposta di silpol al momento non è corretta perché non sarà possibile recuperare i DM in questo modo per il momento.
Se desideri solo leggerli o scaricarli per tenerli offline, ci sono tre modi per farlo:
- Usa l'API di Twitter e gestisci i suoi limiti: solo gli ultimi 200 messaggi diretti possono essere recuperati.
- Scorri verso l'alto manualmente nella conversazione in un browser o sul telefono. Questo metodo sarà sufficiente per piccole conversazioni ma inaffidabile per conversazioni di grandi dimensioni.
- Utilizzare uno strumento per simulare la navigazione di una conversazione e analizzare il risultato.
Forse posso aiutarti con la terza idea. Ho creato uno strumento ( https://github.com/Mincka/DMArchiver ) per scaricare i miei messaggi diretti, con la possibilità di scaricare anche le immagini e le GIF caricate (come MP4).
Poiché non si basa sull'API, è possibile scaricare più di 200 messaggi. Lo script simula semplicemente il "metodo di scorrimento" e analizza il risultato. Nessun servizio di terze parti è coinvolto, quindi tieni private le tue credenziali e i messaggi.
Se si desidera utilizzare la stessa logica per creare il proprio programma per recuperare i DM, l'idea principale è quella di effettuare richieste in loop chiamando il seguente URL con un auth_token
valore cookie valido per l'autenticazione e analizzare la risposta json:
https: / /twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
Il max_entry_id
valore non è richiesto per la prima richiesta. È necessario utilizzare il valore della min_entry_id
variabile nella risposta come nuovo max_entry_id
in ogni iterazione successiva per ottenere i successivi 20 (più vecchi) tweet. Quando max_entry_id
non è nella risposta json, sei all'inizio del thread.