Esporta iMessage in forma leggibile per l'archiviazione


33

Ho una lunga conversazione (parecchi mesi) di iMessage 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 conservare.

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

Posso selezionare parti della conversazione, copiarla negli appunti e incollarla in un documento RTF, ma questo scarta 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 di immagine, ma non mi aspetto che ciò sia possibile.)


1
Vuoi salvarli da un iDevice o un Mac?
Matthieu Riegler,

@MatthieuRiegler A Mac. Non utilizzo iMessage su iOS, quindi non ho pensato a quella possibilità. Aggiornerò la domanda.
Szabolcs,

1
Fa apple.stackexchange.com/questions/88023/... aiuto o stai cercando qualcosa di diverso?
Nohillside

@patrix Sto cercando un modo per estrarre i messaggi da iMessage, quindi posso visualizzarli anche se smetto di usare OS X. Mi rendo conto che è stato un errore rispondere su iMessage per conservare informazioni importanti, quindi voglio spostarmi lontano da esso completamente, e si spera di salvare il chatlog per il futuro.
Szabolcs,

Risposte:


20

Se conosci l'account iMessage del tuo contatto qui è un mio script 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' '\0' | xargs -0 -t -I fname cp fname .

Grazie, questo è utile Questo però non mi darà le immagini ...
Szabolcs,

Scorrerò un po 'di più per trovarli;)
Matthieu Riegler

Grazie! Ho appena trovato una soluzione che è abbastanza buona per ora, quindi per favore non dedicare più tempo a questo.
Szabolcs,

ciao, come eseguire questo script
Atmiya_Dharmesh


12

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

https://github.com/PeterKaminski09/baskup

Modifica: ho sviluppato lo script in un'app OS X con alcune belle funzionalità come il riconoscimento dei contatti. https://peterkaminski09.github.io/baskup


Cosa succede se il contatto non ha un numero di telefono?
Szabolcs,

2
Recupero tutte le informazioni di contatto dalla tabella di chat in ./Library/Messages/chat.db. Questo non è specifico per i numeri di telefono dell'utente. Solo il loro ID associato ai loro messaggi. Nella maggior parte dei casi si tratta in realtà di un numero di telefono.
Peter Kaminski,

L'ho usato. Ha funzionato. Era l'unica soluzione che ho trovato che non costava soldi. Grazie!
Erik Allen

L'ho usato. Ha funzionato. Molto bene dovrei aggiungere. +1 perché è tutto ciò che posso dare per una singola risposta.
Seamus,

11

Ho trovato una soluzione praticabile:

  1. Scorri verso l'alto fino a quando non vengono caricati tutti i messaggi
  2. Stampa in PDF
  3. (Se si dispone di Acrobat), ritagliare i margini dalle pagine per migliorare la leggibilità dei messaggi su più pagine.

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


4
Cosa succede se nella conversazione sono presenti 25.000 messaggi e lo scorrimento verso l'alto non è praticabile?
Utente

Ci vuole un po 'di tempo, ma penso che questa soluzione sia buona per molti casi d'uso.
Citadelgrad,

6

Archiviazione

Questa persona sembra avere una soluzione più raffinata (nessuna mancanza di rispetto per l'utilissimo raschietto SQLite sopra):

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

Per riassumere il blog:

  • installa Adium
  • scegli l'opzione "importa da iChat"
  • Le trascrizioni di Adium vengono 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 più compatibili con l'archivio, ma l' sqliteapproccio al collegamento degli allegati sembra ragionevole.

allegati

Nota che gli allegati iMessage tendono a vivere in:

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

(Non conosco le regole per ciò che accade lì e cosa no, quindi potrebbe non essere completo - ma c'è un discreto importo lì)

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

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

stamperà un'origine se Messaggi ne inserisce uno per il download.


1
Sì, @Szabolcs, ho visto il commento "per favore, non dedicare più tempo a questo", ma ho dovuto scavare un po 'da solo, quindi ho pensato di doverlo condividere nel caso fosse utile a qualcun altro.
gra

0

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

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


1
Benvenuti a chiedere diverso! Si prega di non dare risposte solo link. Siamo alla ricerca di risposte che forniscano spiegazioni sul perché risponda alla domanda. I collegamenti possono cambiare nel tempo e quindi perderemo il contesto domanda-risposta. Vedi Come rispondere per informazioni su ciò che costituisce una buona risposta. - Dalla recensione -
fsb,

-1

L' app Export iMessages ti consente di salvare, stampare, eseguire il backup e ripristinare SMS / iMessages sul tuo Mac / PC.


1
Questo in realtà non risponde alla domanda poiché ho esplicitamente detto che utilizzo iMessage solo su OS X, non su iOS.
Szabolcs,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.