2014-06-26 22 views
13

GMail API kullanarak mesaj gövdesini html biçiminde almanın bir yolu var mı? full için format params değişen çalıştıGmail API kullanarak e-posta/mesaj gövdesini html olarak alın

Zaten message.get dokümanlar yoluyla gitti .., minimal & raw. Ama id yardım etmedi. Posta gövdesinin düz metnini döndürüyor. biçim değerlerinin


Açıklama:

"tam": yük alan ve ham alanda çözümlü e-posta mesajı içeriği kullanılmaz döndürür. (varsayılan)

"minimal": Yalnızca tanımlayıcılar ve etiketler gibi e-posta mesajı meta verilerini döndürür, e-posta başlıklarını, gövdesini veya yükünü döndürmez.

"raw": Ham alandaki tüm e-posta iletisi içeriğini bir dize olarak döndürür ve yük alanı kullanılmaz. Bu tanımlayıcıları, etiketleri, meta verileri, MIME yapısını ve küçük gövde bölümlerini (genellikle 2 KB'den az) içerir.


biz sadece html biçiminde ileti gövdesini alınamıyor veya onlar benim uygulaması veya GMail'de görünce o posta çok az fark ile ekranda görüntülenir yüzden bunu yapmak için başka bir yolu var mı?

+0

evet. E-posta gövdesini html biçiminde sağladı. Kullandığım kitaplık bu bir https://github.com/charlierguo/gmail. Bu çalışır ancak sadece GMail API'nın bunu sağlayıp sağlamadığını bilmek ister. –

cevap

17

Hem HTML hem de düz metin içeriğine sahip olan e-posta iletilerinin birden çok yük parçası olacak ve mimeType "text/html" içeren kısım HTML içeriğini içerecektir.

var part = message.parts.filter(function(part) { 
    return part.mimeType == 'text/html'; 
}); 
var html = urlSafeBase64Decode(part.body.data); 
+0

Tamam. Python'da ne aldım msg_str = base64.urlsafe_b64decode (mesaj ['raw']. Kodlayın ('ASCII')) 'mime_msg = email.message_from_string (msg_str)'. İade edilen iletiyi oluşturduğumda, html'de mime_msg dizesi, düz metin görüntüler. Biçimlendirilmiş bile değil. Lütfen yardım edebilir misin ? –

+0

@Kartik Seninkini denedim ama çalışmıyor ... ['snippet'] mesajını yazdırabilirim ama yine de e-posta gövdesini alamıyorum – littletiger

5

TAM ve RAW hoşuna gider biçimine göre size herhangi bir metin/html parçaları dönecektir Her ikisi: Sen gibi mantıkla bulabilirsiniz. Eğer TAM kullanırsanız, metin/html bölümünü aramak için üzerinde dolaşmanız gereken iç içe geçmiş json sözlükleri olacak ayrıştırılmış bir sunum elde edersiniz. RAW formatını seçerseniz, Message.raw alanında tüm e-postayı RFC822 formatında alırsınız. Bunu seçtiğiniz dilde mime kütüphanelerine aktarabilir ve ilgilendiğiniz parçayı bulmak için bunu kullanabilirsiniz. MIME karmaşıktır, muhtemelen üst düzey bir "multipart" tipine sahip metin/html ile Bunun doğrudan çocukları, ancak hiçbir garanti, keyfi bir derin ağaç yapısı! :)

İlgili konular