我希望在Twitter中查看和存档所有旧的DM,因为我想恢复一年前的对话。
根据Twitter的说法,他们不会删除旧邮件,而只是将其存档在数据库中。
是否可以查看和下载所有这些消息,就像可以使用第三方应用程序查看所有旧的公共推文一样?
更新:我找到了http://snapbird.org/,但显然现在它不适用于DM。
我希望在Twitter中查看和存档所有旧的DM,因为我想恢复一年前的对话。
根据Twitter的说法,他们不会删除旧邮件,而只是将其存档在数据库中。
是否可以查看和下载所有这些消息,就像可以使用第三方应用程序查看所有旧的公共推文一样?
更新:我找到了http://snapbird.org/,但显然现在它不适用于DM。
Answers:
下载Twitter存档可以使您从第一个Tweet开始浏览Twitter信息的快照。链接后面有Twitter帮助页面,该页面分5步逐步说明如何请求Twitter创建(引用)“您的第一笔信息”的可下载.zip存档。由于可能需要一些时间,因此他们承诺在任务完成后通过电子邮件向您发送链接。
当Twitter发布“直接消息”功能时,由于技术上的选择和限制,无法恢复旧消息。但是,它们从未被删除,现在可以使用“直接消息”读取对话中发布的任何消息。
遗憾的是,这些DM不在您的存档中(因为我想这将需要包含其他人发来的有关您的对话的推文才有意义)。因此,silpol的答案当前不正确,因为您暂时将无法以这种方式检索DM。
如果您只是想阅读或下载它们以使它们保持脱机状态,则可以通过以下三种方法进行:
也许我可以为您提供第三个想法。我创建了一个工具(https://github.com/Mincka/DMArchiver)下载我的直接消息,还可以下载上载的图像和GIF(作为MP4)。
由于它不依赖于API,因此可以下载200多个消息。该脚本仅模拟“滚动方法”并解析结果。不涉及任何第三方服务,因此您可以将凭据和消息保密。
如果您想使用相同的逻辑来制作自己的程序来检索DM,则主要思想是通过调用以下具有有效auth_token
cookie值的URL 进行身份验证并解析json响应,从而循环发出请求:
https:/ /twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
该max_entry_id
值对于第一个请求不是必需的。您需要min_entry_id
在响应中使用变量的值作为max_entry_id
每个后续迭代中的新值,以获取下20个(较旧的)tweet。当max_entry_id
不在json响应中时,您位于线程的开头。