Esportare iMessaggi in forma leggibile per l'archiviazione

32

Ho una conversazione iMessage lunga (molti mesi) con un contatto. Ha perso questi messaggi quando ha reinstallato il suo sistema operativo, ma ho ancora l'archivio. Ci sono alcune informazioni importanti che vorremmo mantenere.

Esiste un modo semplice per esportare questa conversazione per l'archiviazione in un formato leggibile dall'uomo e anche conservare le immagini?

Posso selezionare parti della conversazione, copiarlo negli Appunti e incollarlo in un documento RTF, ma questo elimina tutte le immagini. Sto cercando un modo per conservare le immagini.

Nota: utilizzo iMessage solo su OS X, non su iOS.

(Idealmente mi piacerebbe anche esportare tutti gli allegati di file non immagine, ma non mi aspetto che ciò sia possibile.)

    
posta Szabolcs 03.11.2013 - 20:52
fonte

6 risposte

18

Se sai che l'account iMessage del tuo contatto qui è un mio script di bash per recuperare testo + immagini.

#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' '
#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' '%pre%' | xargs -0 -t -I fname cp fname .
' | xargs -0 -t -I fname cp fname .
    
risposta data 03.11.2013 - 21:42
fonte
11

Ho trovato una soluzione praticabile:

  1. Scorri verso l'alto finché non vengono caricati tutti i messaggi
  2. Stampa su PDF
  3. (Se disponi di Acrobat, ritaglia i margini dalle pagine per migliorare la leggibilità dei messaggi suddivisi in più pagine.

Il risultato non sembra grande , ma contiene tutte le immagini e il testo è ricercabile. Quindi è abbastanza buono.

    
risposta data 03.11.2013 - 22:52
fonte
11

Mi sono preso la libertà di promuovere la risposta di cui sopra da Matthieu. Ho scritto uno script che automatizza il processo eseguendo il backup di tutti i messaggi dell'utente, inclusi immagini, file audio e filmati, archiviando ciascuna conversazione in un file di testo per numero di telefono.

link

Modifica: ho sviluppato lo script in un'app di OS X con alcune funzioni interessanti come il riconoscimento dei contatti. link

    
risposta data 17.07.2015 - 22:06
fonte
6

archiviazione

Questa persona sembra avere una soluzione più lucida (nessuna mancanza di rispetto intesa per il raschiatore SQLite estremamente utile sopra):

link

Per riassumere il blog:

  • installa Adium
  • scegli l'opzione "importa da iChat"
  • Le trascrizioni Adium sono generate dai tuoi registri e archiviate in:

    ~ / Library / Application Support / Adium 2.0 / Users / Default / Logs /

I file convertiti sono in HTML, più facilmente leggibili e si spera che siano più adatti all'archiviazione, ma l'approccio sqlite al collegamento degli allegati sembra ragionevole.

Allegati

Tieni presente che gli allegati di iMessage tendono a vivere in:

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

(Non conosco le regole per ciò che accade lì dentro e cosa no, quindi potrebbe non essere completo - ma c'è una buona quantità lì dentro)

Ma in realtà puoi vedere alcune informazioni sul contatto e sulla conversazione in attributi estesi del file:

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

stamperà un'origine se i Messaggi ne mettono uno lì al download.

    
risposta data 06.05.2014 - 20:08
fonte
0

Il tuo Mac dovrebbe salvarli automaticamente. Ecco le istruzioni su come estrarli:

link

    
risposta data 27.05.2016 - 02:04
fonte
-1

Esporta iMessages consente di salvare, stampare , backup e recupero di SMS / iMessages sul tuo Mac / PC.

    
risposta data 12.11.2015 - 18:32
fonte

Leggi altre domande sui tag