Експортуйте iMessages в зручній для людини формі для архіву


33

У мене тривала (кілька місяців варто) розмова в iMessage з контактом. Він втратив ці повідомлення під час перевстановлення своєї ОС, але я все ще маю архів. Там є якась важлива інформація, яку ми хотіли б зберегти.

Чи є простий спосіб експортувати цю розмову для архіву в читаній для людини формі, а також зберегти будь-які зображення?

Я можу вибрати частини розмови, скопіювати її до буфера обміну і вставити в багатий текстовий документ, але це відкидає всі зображення. Я шукаю спосіб, який зберігає образи.

Примітка. Я використовую iMessage лише для OS X, а не iOS.

(В ідеалі я також хотів би експортувати всі вкладені файли без зображення, але я не сподіваюся, що це стане можливим.)


1
Ви хочете зберегти їх з iDevice або Mac?
Матьє Ріглер

@MatthieuRiegler 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

Я ще копаю ще трохи, щоб їх знайти;)
Матьє Ріглер

Спасибі! Щойно я знайшов рішення, яке досить добре зараз, тому, будь ласка, більше не витрачайте на це час.
Szabolcs

привіт, як запустити цей сценарій
Atmiya_Dharmesh


12

Я взяв на себе сміливість подавати вищевказану відповідь Матьє. Я написав сценарій, який би автоматизував процес, створюючи резервну копію всіх повідомлень користувача, включаючи зображення, аудіофайли та фільми - зберігаючи кожну розмову в текстовому файлі за номером телефону.

https://github.com/PeterKaminski09/baskup

Редагувати: Я розробив сценарій у програмі OS X з такими приємними функціями, як розпізнавання контактів. https://peterkaminski09.github.io/baskup


Що робити, якщо у контакту немає номера телефону?
Саболч

2
Я отримую всю контактну інформацію з таблиці чату в ./Library/Messages/chat.db. Це не конкретно для номерів телефонів користувачів. Просто їх ідентифікатор, пов’язаний з їх повідомленнями. У більшості випадків це насправді номер телефону.
Петро Камінський

Я цим користувався. Це спрацювало. Я знайшов єдине рішення, яке не коштувало грошей. Дякую!
Ерік Аллен

Я цим користувався. Це спрацювало. Дуже красиво, я повинен додати. +1 'тому що це все, що я можу дати за одну відповідь.
Seamus

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 створюються з ваших журналів і зберігаються у:

    ~ / Бібліотека / Підтримка програм / Adium 2.0 / Користувачі / За замовчуванням / Журнали /

Перетворені файли в HTML, легше читати і, сподіваємось, більш зручні для архіву, але sqlite підхід до зв’язування вкладень виглядає розумним.

Вкладення

Зауважте, що вкладення iMessage, як правило, живуть у:

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

(Я не знаю правил того, що відбувається там, а що ні, тому воно може бути не повним - але там є досить велика кількість)

Але насправді ви можете побачити деяку інформацію про контакт та розмову в розширених атрибутах файлу:

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

надрукує походження, якщо повідомлення надсилатиме його для завантаження.


1
Так, @Szabolcs, я побачив коментар "будь ласка, не витрачайте на це більше свого часу" коментар, але мені довелося трохи розкопати моє власне, тому подумав, що я повинен поділитися, якщо це корисно комусь іншому.
гра

0

Ваш комп'ютер повинен автоматично зберігати їх. Ось інструкції щодо їх вилучення:

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.