İMessages'ı arşivleme için okunabilir biçimde dışa aktarın


33

Bir kişiyle uzun (birkaç aylık) bir iMessage görüşmem var. İşletim sistemini yeniden kurduğunda bu mesajları kaybetti, ama ben hala arşivim var. Orada tutmak istediğimiz bazı önemli bilgiler var.

Bu sohbeti arşivlemek için insan tarafından okunabilir bir formda dışa aktarmanın ve ayrıca görüntü tutmanın basit bir yolu var mı?

Konuşmanın bölümlerini seçebilir, panoya kopyalayabilir ve zengin bir metin belgesine yapıştırabilirim, ancak bu tüm görüntüleri atar. Görüntüleri tutan bir yol arıyorum.

Not: iMessage'ı yalnızca OS X'te iOS yerine kullanıyorum.

(İdeal olarak, resim olmayan tüm dosya eklerini de dışa aktarmak istiyorum, ancak bunun mümkün olacağını beklemiyorum.)


1
Onları bir iDevice veya Mac'ten kaydetmek ister misiniz?
Matthieu Riegler

@MatthieuRiegler A Mac. İMessage'ı iOS'ta kullanmıyorum, bu yüzden bu olasılığı düşünmedim. Soruyu güncelleyeceğim.
Szabolcs

1
Apple.stackexchange.com/questions/88023/… yardımcı oluyor mu veya başka bir şey mi arıyorsunuz?
nohillside

@patrix Mesajları iMessage'dan almanın bir yolunu arıyorum, bu yüzden OS X'i kullanmayı bıraksam bile görüntüleyebilirim. Önemli bilgileri saklamak için iMessage'da yanıtlamanın bir hata olduğunu fark ettim, bu yüzden taşımak istiyorum ondan tamamen uzak durun ve umarım sohbet günlüğünü gelecek için kurtarır.
Szabolcs

Yanıtlar:


20

Burada irtibat kişinizin iMessage hesabını biliyorsanız, metin + görüntüleri almak için benim de bir bash komut dosyasıdır .

#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 .

Teşekkürler, bu faydalıdır. Bu bana görüntüler bile vermiyor ...
Szabolcs

Onları bulmak için biraz daha
kazacağım

Teşekkürler! Şimdilik yeterince iyi bir çözüm buldum, bu yüzden lütfen zamanınızı bunun için harcamayın.
Szabolcs

merhaba, bu betiği çalıştırmak nasıl
Atmiya_Dharmesh


12

Matthieu tarafından yukarıdaki cevabı ilerletme özgürlüğüne kavuştum. Resimler, ses dosyaları ve filmler dahil olmak üzere tüm kullanıcıların mesajlarını yedekleyerek işlemi otomatikleştiren bir komut dosyası yazdım - her bir konuşmayı telefon numarasına göre bir metin dosyasına kaydederek.

https://github.com/PeterKaminski09/baskup

Düzenleme: Senaryoyu, bir kişi tanıma gibi bazı güzel özelliklerle bir OS X uygulamasında geliştirdim. https://peterkaminski09.github.io/baskup


Ya kişinin telefon numarası yoksa?
Szabolcs

2
Tüm iletişim bilgilerini sohbet masasından ./Library/Messages/chat.db adresinde alıyorum. Bu, kullanıcı telefon numaralarına özgü değildir. Sadece mesajları ile ilişkili olan kimlikleri. Çoğu durumda bu aslında bir telefon numarasıdır.
Peter Kaminski

Onu kullandım. İşe yaradı. Para vermeyen tek çözüm buydu. Teşekkür ederim!
Erik Allen

Onu kullandım. İşe yaradı. Çok güzel eklemeliyim. +1 'çünkü tek bir cevap için verebileceğim tek şey bu.
Seamus

11

Uygulanabilir bir çözüm buldum:

  1. Tüm mesajlar yüklenene kadar yukarı kaydır
  2. PDF'ye yazdır
  3. (Acrobat'ınız varsa), sayfalar arası mesajların okunabilirliğini artırmak için kenar boşluklarını sayfalardan kesin.

Sonuç harika görünmüyor , ancak tüm görüntüleri içeriyor ve metin aranabiliyor. Bu yüzden yeterince iyi.


4
Konuşmada 25.000 mesajınız varsa ve yukarı kaydırma geçerli değilse ne olur?
Kullanıcı

Biraz zaman alıyor, ancak bu çözümün birçok kullanım durumu için iyi olduğunu düşünüyorum.
citadelgrad

6

arşivleme

Bu kişi daha parlak bir çözüme sahip görünüyor (yukarıdaki son derece yararlı SQLite kazıyıcıya yönelik saygısızlık yok):

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

Blogu özetlemek için:

  • Adium yükleyin
  • "iChat’tan içe aktar" seçeneğini seçin
  • Adium transkriptleri loglarından üretilir ve saklanır:

    ~ / Kütüphane / Uygulama Desteği / Adium 2.0 / Kullanıcılar / Varsayılan / Günlükler /

Dönüştürülen dosyalar HTML’dedir, daha kolay okunur ve umarım daha arşiv dostu olur, ancak sqliteek bağlantıya yaklaşım mantıklı görünüyor.

Ekler

İMessage eklerinin içinde yaşama eğiliminde olduğunu unutmayın:

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

(Neyin girip neyin girmeyeceğine ilişkin kuralları bilmiyorum, bu yüzden tam olmayabilir - ama orada oldukça makul bir miktar var)

Ama aslında yapabilirsiniz dosyanın genişletilmiş özniteliklerde temas ve konuşma ile ilgili bazı bilgileri görebilirsiniz:

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

Mesajlar indirilirse bir tane gönderilirse bir başlangıç ​​yeri yazdırılır.


1
Evet, @Szabolcs, "lütfen zamanınızı bu konuda daha fazla harcamayın" yorumunu gördüm, ancak başkası için yararlı olması durumunda paylaşmam gerektiğini düşündüğüm için kendimi kazmaya biraz zorladım.
gra

0

Mac'iniz onları otomatik olarak kaydetmelidir. Bunları nasıl çıkaracağınıza dair talimatlar:

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


1
Farklı sormaya hoş geldiniz! Lütfen sadece link vermeyin. Soruyu neden cevapladığına dair açıklamalar sağlayan cevaplar arıyoruz. Bağlantılar zaman içinde değişebilir ve ardından soru-cevap içeriğini kaybederiz. Bkz Cevap Nasıl iyi bir cevap oluşturan ne bilgi için. - Şu kaynaktan:
fsb

-1

İMessages uygulamasını dışa aktarma , SMS / iMessages'ı Mac / PC'nize kaydetmenizi, yazdırmanızı, yedeklemenizi ve kurtarmanızı sağlar.


1
Ben açıkça ben iMessage'ı kullandığını söylediği gibi bu gerçekten soruya cevap vermez , sadece değil iOS'ta OS X üzerinde.
Szabolcs
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.