Ketika Twitter merilis fitur Pesan Langsung, tidak mungkin untuk mendapatkan kembali pesan lama karena pilihan dan keterbatasan teknis. Namun, mereka tidak pernah dihapus dan sekarang mungkin untuk membaca pesan yang diposting dalam percakapan menggunakan Pesan Langsung.
Sayangnya, DM bukan bagian dari arsip Anda (karena saya kira itu perlu memuat tweet dari orang lain dari percakapan Anda agar masuk akal). Akibatnya, jawaban dari silpol saat ini tidak benar karena Anda tidak akan dapat mengambil DM Anda dengan cara ini untuk saat ini.
Jika Anda hanya ingin membaca atau mengunduhnya agar tetap offline, ada tiga cara untuk melakukan ini:
- Gunakan Twitter API dan atasi batasannya: hanya 200 Pesan Langsung terbaru yang dapat diambil.
- Gulir ke atas secara manual dalam percakapan di browser atau di ponsel Anda. Metode ini akan cukup untuk percakapan kecil tetapi tidak dapat diandalkan untuk yang besar.
- Gunakan alat untuk mensimulasikan penelusuran percakapan dan parsing hasilnya.
Mungkin saya bisa membantu Anda dengan ide ketiga. Saya telah membuat alat ( https://github.com/Mincka/DMArchiver ) untuk mengunduh pesan langsung saya, dengan kemampuan untuk juga mengunduh gambar dan GIF yang diunggah (sebagai MP4).
Karena tidak bergantung pada API, ada kemungkinan untuk mengunduh lebih dari 200 pesan. Script hanya mensimulasikan "metode pengguliran" dan parsing hasilnya. Tidak ada layanan pihak ketiga yang terlibat sehingga Anda merahasiakan kredensial dan pesan Anda.
Jika Anda ingin menggunakan logika yang sama untuk membuat program Anda sendiri untuk mengambil DM, ide utamanya adalah membuat permintaan secara berulang dengan memanggil URL berikut dengan auth_token
nilai cookie yang valid untuk otentikasi dan menguraikan respons json:
https: / /twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
The max_entry_id
nilai tidak diperlukan untuk permintaan pertama. Anda perlu menggunakan nilai min_entry_id
variabel dalam respons sebagai yang baru max_entry_id
di setiap iterasi berikutnya untuk mendapatkan 20 (lebih) tweet berikutnya. Ketika max_entry_id
tidak ada dalam respon json, Anda berada di awal utas.