アーカイブ用に人間が読める形式でiMessageをエクスポートする


33

連絡先との長い(数か月分の)iMessage会話があります。彼はOSを再インストールしたときにこれらのメッセージを失いましたが、私はまだアーカイブを持っています。そこに保持したいいくつかの重要な情報があります。

この会話を人間が読める形式でアーカイブ用にエクスポートし、画像を保持する簡単な方法はありますか?

会話の一部を選択してクリップボードにコピーし、リッチテキストドキュメントに貼り付けることができますが、これによりすべての画像が破棄されます。画像を保持する方法を探しています。

注:iMessageはiOSではなくOS Xでのみ使用します。

(理想的には、すべての非画像ファイルの添付ファイルもエクスポートしたいのですが、これが可能になるとは思っていません。)


1
iDeviceまたはMacから保存しますか?
マチューリーグラー

@MatthieuRiegler Mac。私はiOSでiMessageを使用していないので、その可能性を考えていませんでした。質問を更新します。
ザボルクス

1
apple.stackexchange.com/questions/88023/…役に立ちますか、それとも何か他のものを探していますか?
nohillside

@patrix iMessageからメッセージを取得する方法を探しているので、OS Xの使用をやめても表示できます。重要な情報を保持するためにiMessageで返信するのは間違いだったので、移動したいですそれから完全に離れて、できれば将来のためにチャットログを回収してください。
ザボルクス

回答:


20

連絡先のiMessageアカウントを知っている場合はテキストと画像を取得するための私のbashスクリプトがここにあります。

#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

それらを見つけるためにもう少し掘ります;)
マチューリーグラー

ありがとう!今のところ十分な解決策を見つけたので、これに時間を費やさないでください。
ザボークス

こんにちは、このスクリプトの実行方法
Atmiya_Dharmesh 14


12

私はマシューによる上記の答えを促進する自由を取りました。画像、音声ファイル、映画など、ユーザーのすべてのメッセージをバックアップすることでプロセスを自動化するスクリプトを作成しました。各会話を電話番号ごとにテキストファイルに保存しました。

https://github.com/PeterKaminski09/baskup

編集:スクリプトを連絡先認識などの優れた機能を備えたOS Xアプリに開発しました。https://peterkaminski09.github.io/baskup


連絡先に電話番号がない場合はどうなりますか?
ザボルクス

2
./Library/Messages/chat.dbのチャットテーブルからすべての連絡先情報を取得します。これは、ユーザーの電話番号に固有のものではありません。メッセージに関連付けられているIDのみ。ほとんどの場合、これは実際には電話番号です。
ピーターカミンスキー

私はそれを使用しました。出来た。お金がかからなかった唯一の解決策でした。ありがとうございました!
エリックアレン

私はそれを使用しました。出来た。非常にうまく追加する必要があります。+1 'cosそれは私が単一の答えのために与えることができるすべてです。
シーマス

11

私は実行可能な解決策を見つけました:

  1. すべてのメッセージが読み込まれるまで上にスクロールします
  2. PDFに印刷
  3. (Acrobatを使用している場合)ページの余白を切り取り、ページにまたがるメッセージの読みやすさを改善します。

結果は見ていない素晴らしいが、それはすべての画像が含まれていないとテキストが検索可能です。それで十分です。


4
会話に25,000件のメッセージがあり、上にスクロールできない場合はどうなりますか?
ユーザー

少し時間がかかりますが、このソリューションは多くのユースケースに適していると思います。
シタデルグラード

6

アーカイブ

この人は、より洗練された解決策を持っているようです(上記の非常に便利なSQLiteスクレーパーに対する無礼はありません):

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

ブログを要約するには:

  • Adiumをインストール
  • 「iChatからインポート」オプションを選択します
  • Adiumトランスクリプトはログから生成され、次の場所に保存されます。

    〜/ライブラリ/ Application Support / Adium 2.0 / Users / Default / Logs /

変換されたファイルは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
Ask Differentへようこそ!リンクのみの回答はしないでください。質問に答える理由の説明を提供する回答を探しています。リンクは時間の経過とともに変化する可能性があるため、質問と回答のコンテキストが失われます。良い答えを構成する情報については、回答方法を参照してください。-レビューから
--fsb

-1

iMessagesアプリをエクスポートすると、SMS / iMessagesをMac / PCに保存、印刷、バックアップ、および復元できます。


1
iOSではなくOS Xでのみ iMessageを使用すると明示的に言ったので、これは実際には質問に答えません。
Szabolcs
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.