Als Twitter die Funktion "Direktnachrichten" veröffentlichte, war es aufgrund technischer Auswahlmöglichkeiten und Einschränkungen nicht möglich, alte Nachrichten zurückzugewinnen. Sie wurden jedoch nie gelöscht und es ist jetzt möglich, alle in einer Konversation geposteten Nachrichten mithilfe von Direktnachrichten zu lesen.
Leider sind die DMs nicht Teil Ihres Archivs (da ich denke, dass es erforderlich wäre, Tweets von anderen Personen Ihrer Gespräche zu enthalten, um einen Sinn zu ergeben). Infolgedessen ist die Antwort von silpol derzeit nicht korrekt, da Sie Ihre DMs momentan nicht auf diese Weise abrufen können.
Wenn Sie sie nur lesen oder herunterladen möchten, um sie offline zu halten, gibt es drei Möglichkeiten:
- Verwenden Sie die Twitter-API und gehen Sie mit den Einschränkungen um: Es können nur die neuesten 200 Direktnachrichten abgerufen werden.
- Scrollen Sie in der Konversation in einem Browser oder auf Ihrem Telefon manuell nach oben. Diese Methode ist für kleine Gespräche ausreichend, für große jedoch unzuverlässig.
- Verwenden Sie ein Tool, um das Durchsuchen einer Konversation zu simulieren und das Ergebnis zu analysieren.
Vielleicht kann ich Ihnen bei der dritten Idee helfen. Ich habe ein Tool ( https://github.com/Mincka/DMArchiver ) zum Herunterladen meiner Direktnachrichten erstellt, mit der Möglichkeit, auch die hochgeladenen Bilder und GIFs (als MP4) herunterzuladen.
Da es nicht auf der API basiert, können mehr als 200 Nachrichten heruntergeladen werden. Das Skript simuliert einfach die "Bildlaufmethode" und analysiert das Ergebnis. Es ist kein Drittanbieter-Service beteiligt, sodass Sie Ihre Anmeldeinformationen und Nachrichten privat halten.
Wenn Sie dieselbe Logik verwenden möchten, um ein eigenes Programm zum Abrufen der DMs zu erstellen, besteht die Hauptidee darin, Anforderungen in einer Schleife zu stellen, indem Sie die folgende URL mit einem gültigen auth_token
Cookie-Wert für die Authentifizierung aufrufen und die JSON-Antwort analysieren:
https: / /twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
Der max_entry_id
Wert wird für die erste Anforderung nicht benötigt. Sie müssen den Wert der min_entry_id
Variablen in der Antwort max_entry_id
in jeder nachfolgenden Iteration als neuen Wert verwenden , um die nächsten 20 (älteren) Tweets zu erhalten. Wenn max_entry_id
die json-Antwort nicht enthalten ist, befinden Sie sich am Anfang des Threads.