Khi Twitter phát hành tính năng Tin nhắn trực tiếp, không thể lấy lại tin nhắn cũ do các lựa chọn kỹ thuật và giới hạn. Tuy nhiên, chúng chưa bao giờ bị xóa và giờ đây có thể đọc bất kỳ tin nhắn nào được đăng trong cuộc hội thoại bằng Tin nhắn trực tiếp.
Đáng buồn thay, DM không phải là một phần của kho lưu trữ của bạn (vì tôi đoán nó sẽ yêu cầu phải có tweet từ những người khác trong cuộc hội thoại của bạn để có ý nghĩa). Do đó, câu trả lời từ silpol hiện không chính xác vì bạn sẽ không thể truy xuất DM của mình theo cách này vào lúc này.
Nếu bạn chỉ muốn đọc hoặc tải xuống để giữ chúng ngoại tuyến, có ba cách để làm điều này:
- Sử dụng API Twitter và giải quyết các hạn chế của nó: chỉ có thể truy xuất 200 Tin nhắn trực tiếp mới nhất.
- Cuộn lên bằng tay trong cuộc trò chuyện trong trình duyệt hoặc trên điện thoại của bạn. Phương pháp này sẽ đủ cho các cuộc hội thoại nhỏ nhưng không đáng tin cậy cho những cuộc trò chuyện lớn.
- Sử dụng một công cụ để mô phỏng việc duyệt cuộc hội thoại và phân tích kết quả.
Có lẽ tôi có thể giúp bạn với ý tưởng thứ ba. Tôi đã tạo một công cụ ( https://github.com/Mincka/DMArchiver ) để tải xuống tin nhắn trực tiếp của mình, với khả năng tải xuống các hình ảnh và GIF đã tải lên (dưới dạng MP4).
Vì không dựa vào API, nên có thể tải xuống hơn 200 tin nhắn. Kịch bản chỉ mô phỏng "phương pháp cuộn" và phân tích kết quả. Không có dịch vụ của bên thứ ba nào được tham gia để bạn giữ thông tin đăng nhập và tin nhắn của mình ở chế độ riêng tư.
Nếu bạn muốn sử dụng cùng logic để tạo chương trình của riêng mình để truy xuất DM, ý tưởng chính là thực hiện các yêu cầu trong vòng lặp bằng cách gọi URL sau với giá trị auth_token
cookie hợp lệ để xác thực và phân tích phản hồi json:
https: / /twitter.com/messages/with/conversation?id=1337&max_entry_id=1337
Các max_entry_id
giá trị không là cần thiết cho yêu cầu đầu tiên. Bạn cần sử dụng giá trị của min_entry_id
biến trong phản hồi là giá trị mới max_entry_id
trong mỗi lần lặp tiếp theo để có được 20 tweet tiếp theo (cũ hơn). Khi max_entry_id
không có trong phản hồi json, bạn đang ở đầu chuỗi.