ส่งออก iMessages ในรูปแบบที่มนุษย์สามารถอ่านได้เพื่อเก็บถาวร


33

ฉันมีการสนทนา iMessage ยาวหลายต่อหลายสัปดาห์กับผู้ติดต่อ เขาสูญเสียข้อความเหล่านี้เมื่อเขาติดตั้งระบบปฏิบัติการอีกครั้ง แต่ฉันยังมีที่เก็บถาวร มีข้อมูลสำคัญที่เราต้องการเก็บไว้

มีวิธีง่ายๆในการส่งออกบทสนทนานี้เพื่อเก็บถาวรในรูปแบบที่มนุษย์อ่านได้และเก็บรูปภาพไว้ด้วยหรือไม่?

ฉันสามารถเลือกบางส่วนของการสนทนาคัดลอกไปยังคลิปบอร์ดและวางลงในเอกสารข้อความที่มีรูปแบบ แต่สิ่งนี้จะทิ้งภาพทั้งหมด ฉันกำลังมองหาวิธีที่ช่วยรักษาภาพ

หมายเหตุ: ฉันใช้ iMessage บน OS X เท่านั้นไม่ใช่ iOS

(โดยหลักแล้วฉันต้องการส่งออกไฟล์แนบที่ไม่ใช่รูปภาพทั้งหมด แต่ฉันไม่คาดหวังว่าจะเป็นไปได้)


1
คุณต้องการบันทึกจาก iDevice หรือ Mac หรือไม่?
Matthieu Riegler

@MatthieuRiegler A Mac ฉันไม่ได้ใช้ iMessage บน iOS ดังนั้นฉันจึงไม่คิดว่าจะเป็นไปได้ ฉันจะอัปเดตคำถาม
Szabolcs

1
ไม่apple.stackexchange.com/questions/88023/...ช่วยเหลือหรือคุณกำลังมองหาสิ่งอื่นใด
nohillside

@patrix ฉันกำลังมองหาวิธีที่จะนำข้อความออกจาก iMessage ดังนั้นฉันจึงสามารถดูได้แม้ว่าฉันจะหยุดใช้ OS X ฉันรู้ว่ามันเป็นความผิดพลาดในการตอบกลับ iMessage เพื่อเก็บข้อมูลสำคัญดังนั้นฉันจึงต้องการย้าย อยู่ห่างจากมันอย่างสมบูรณ์และหวังว่าจะได้ช่วยแชทในอนาคต
Szabolcs

คำตอบ:


20

หากคุณรู้ว่าบัญชี iMessage ของผู้ติดต่อของคุณที่นี่เป็นสคริปต์ทุบตีของฉันเพื่อดึงข้อความ + ภาพ

#Parameter is a iMessage account (email or phone number i.e. +33616.... )
if [ $# -lt 1 ]; then
    echo "Enter a iMessage account (email of phone number i.e +33616.....) "
fi
login=$1

#Retrieve the text messages 

sqlite3 ~/Library/Messages/chat.db "
select is_from_me,text from message where handle_id=(
select handle_id from chat_handle_join where chat_id=(
select ROWID from chat where guid='iMessage;-;$1')
)" | sed 's/1\|/me: /g;s/0\|/budy: /g' > MessageBackup.txt


#Retrieve the attached stored in the local cache

sqlite3 ~/Library/Messages/chat.db "
select filename from attachment where rowid in (
select attachment_id from message_attachment_join where message_id in (
select rowid from message where cache_has_attachments=1 and handle_id=(
select handle_id from chat_handle_join where chat_id=(
select ROWID from chat where guid='iMessage;-;$1')
)))" | cut -c 2- | awk -v home=$HOME '{print home $0}' | tr '\n' '\0' | xargs -0 -t -I fname cp fname .

ขอบคุณสิ่งนี้มีประโยชน์ นี้จะไม่ให้ภาพฉัน ...
Szabolcs

ฉันจะขุดขึ้นอีกนิดจะพบพวกเขา;)
Matthieu Riegler

ขอบคุณ! ฉันเพิ่งพบวิธีแก้ปัญหาที่ดีพอสำหรับตอนนี้ดังนั้นโปรดอย่าใช้เวลากับเรื่องนี้อีกต่อไป
Szabolcs

สวัสดีวิธีการเรียกใช้สคริปต์นี้
Atmiya_Dharmesh


12

ฉันใช้เสรีภาพในการตอบคำถามข้างต้นโดย Matthieu ฉันเขียนสคริปต์ที่จะทำให้กระบวนการโดยอัตโนมัติโดยการสำรองข้อความทั้งหมดของผู้ใช้รวมถึงรูปภาพไฟล์เสียงและภาพยนตร์ - เก็บการสนทนาแต่ละรายการไว้ในไฟล์ข้อความด้วยหมายเลขโทรศัพท์

https://github.com/PeterKaminski09/baskup

แก้ไข: ฉันพัฒนาสคริปต์เป็นแอพ OS X พร้อมคุณสมบัติที่ดีเช่นการจดจำผู้ติดต่อ https://peterkaminski09.github.io/baskup


จะทำอย่างไรถ้าผู้ติดต่อไม่มีหมายเลขโทรศัพท์
Szabolcs

2
ฉันดึงข้อมูลผู้ติดต่อทั้งหมดจากตารางการแชทใน. /Library/Messages/chat.db นี่ไม่ใช่หมายเลขโทรศัพท์ของผู้ใช้เฉพาะ เพียง id ของพวกเขาที่เกี่ยวข้องกับข้อความของพวกเขา โดยส่วนใหญ่แล้วนี่คือหมายเลขโทรศัพท์
Peter Kaminski

ฉันใช้มัน มันได้ผล มันเป็นทางออกเดียวที่ฉันพบว่าไม่เสียค่าใช้จ่าย ขอขอบคุณ!
Erik Allen

ฉันใช้มัน มันได้ผล ฉันควรจะเพิ่มอย่างมาก +1 'เพราะนั่นคือทั้งหมดที่ฉันสามารถให้คำตอบเดียว
เชมัส

11

ฉันพบวิธีแก้ปัญหาที่ใช้การได้:

  1. เลื่อนขึ้นจนกว่าจะโหลดข้อความทั้งหมด
  2. พิมพ์เป็น PDF
  3. (ถ้าคุณมี Acrobat) ตัดขอบจากหน้าเพื่อปรับปรุงความสามารถในการอ่านของข้อความแบบข้ามหน้า

ผลลัพธ์ไม่ได้ดูดีแต่มีรูปภาพทั้งหมดและสามารถค้นหาข้อความได้ ดังนั้นจึงดีพอ


4
จะทำอย่างไรถ้าคุณมี 25,000 ข้อความในการสนทนาและการเลื่อนขึ้นไม่สามารถทำงานได้?
ผู้ใช้

ใช้เวลาเล็กน้อย แต่ฉันคิดว่าวิธีนี้ดีสำหรับการใช้งานหลายกรณี
citadelgrad

6

การเก็บถาวร

คนนี้ดูเหมือนจะมีวิธีการแก้ปัญหาที่ขัดมากขึ้น (ไม่มีการดูหมิ่นต่อมีดโกน SQLite ที่มีประโยชน์อย่างยิ่งด้านบน):

http://www.chrisfinke.com/2013/11/05/convert-ichat-transcripts-to-useable-xml/

ในการสรุปบล็อก:

  • ติดตั้งAdium
  • เลือกตัวเลือก "นำเข้าจาก iChat"
  • Adium Transcripts สร้างจากบันทึกของคุณและเก็บไว้ใน:

    ~ / Library / Application Support / Adium 2.0 / ผู้ใช้ / ค่าเริ่มต้น / บันทึก /

ไฟล์ที่แปลงแล้วจะอยู่ในรูปแบบ HTML สามารถอ่านได้ง่ายขึ้นและหวังว่าจะเป็นมิตรกับการเก็บถาวรมากขึ้น แต่sqliteวิธีการเชื่อมโยงไฟล์แนบนั้นดูสมเหตุสมผล

สิ่งที่แนบมา

โปรดทราบว่าสิ่งที่แนบมากับ iMessage มักจะอาศัยอยู่ใน:

~/Library/Containers/com.apple.iChat/Data/Library/Messages/Attachments/...

(ฉันไม่ทราบกฎสำหรับสิ่งที่เกิดขึ้นที่นั่นและสิ่งที่ไม่เป็นเช่นนั้นดังนั้นจึงอาจไม่สมบูรณ์ - แต่มีจำนวนพอใช้อยู่ในนั้น)

แต่จริงๆแล้วคุณสามารถเห็นข้อมูลบางอย่างเกี่ยวกับผู้ติดต่อและการสนทนาในแอตทริบิวต์เพิ่มเติมของไฟล์:

$ xattr -lp com.apple.metadata:kMDItemWhereFroms <attachment>

จะพิมพ์ที่มาหากข้อความใส่ไว้ในการดาวน์โหลด


1
ใช่ @Szabolcs ฉันเห็นความคิดเห็น "โปรดอย่าใช้เวลากับความคิดเห็นนี้อีกต่อไป" แต่ต้องขุดของตัวเองสักหน่อยฉันคิดว่าฉันควรจะแบ่งปันในกรณีที่มันเป็นประโยชน์กับคนอื่น
gra

0

mac ของคุณควรบันทึกโดยอัตโนมัติ นี่คือคำแนะนำเกี่ยวกับวิธีการแยก:

http://www.imore.com/how-view-and-move-your-imessage-history-and-attachments


1
ยินดีต้อนรับสู่ถามที่แตกต่างกัน! โปรดอย่าให้คำตอบสำหรับลิงค์เท่านั้น เรากำลังหาคำตอบที่ให้คำอธิบายว่าทำไมมันถึงตอบคำถาม ลิงก์สามารถเปลี่ยนแปลงได้ตลอดเวลาจากนั้นเราจะสูญเสียบริบทคำตอบของคำถาม ดูวิธีตอบคำถามสำหรับข้อมูลว่าอะไรเป็นคำตอบที่ดี - จากรีวิว -
fsb

-1

แอปส่งออก iMessagesช่วยให้คุณสามารถบันทึกพิมพ์สำรองและกู้คืน SMS / iMessages ไปยัง Mac / PC ของคุณ


1
นี่ไม่ได้ตอบคำถามจริงๆเพราะฉันพูดอย่างชัดเจนว่าฉันใช้ iMessage เฉพาะใน OS X ไม่ใช่ใน iOS
Szabolcs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.