Chrome扩展程序 - 解析Gmail邮件

时间:2012-03-07 08:40:08

标签: javascript parsing google-chrome-extension gmail

我正在构建Chrome浏览器的扩展程序。我希望能够解析Gmail(以及其他一些电子邮件客户端,如Hotmail,Yahoo等)中(当前查看的)电子邮件的内容。我浏览了Stackoverflow和谷歌的开发者指南,但我找不到应该怎么做。

如果有人可以提供一个如何阅读电子邮件内容的小玩具示例(即拥有一个包含电子邮件文本\ HTML内容的变量),那就太棒了。

感谢。

4 个答案:

答案 0 :(得分:5)

您应该在这里查看API https://github.com/joscha/gmailr,它应该让您入门。

编辑: 在https://github.com/KartikTalwar/gmail.js

还有另一个新发布的非官方API(仍在更新)

答案 1 :(得分:2)

查看Content Scripts ... 通过使用标准文档对象模型(DOM),他们可以阅读浏览器访问的网页的详细信息

答案 2 :(得分:0)

每封电子邮件都有自己的唯一消息ID。

使用content.js从元素中获取“ messageId”,然后将其传递给Gmail API以获取电子邮件数据。

示例:

<div class="adn ads" style="display:" data-message-id="189******56e***3" data-legacy-message-id="189******56e***3">

API以各种格式返回电子邮件的数据。其中一种是“原始”格式,该格式将完整的电子邮件正文作为base64url编码的字符串返回。将此数据直接发送到您的服务器,然后解密电子邮件并将其保存到数据库。

请参考类似的问题:“ Get gmail message body of an open mail with a chrome extension

答案 3 :(得分:0)

我认为更好的方法是根据您的要求获取ID并使用GMail API访问其他详细信息。例如,我需要当前打开的线程的所有收件人,因此需要访问线程的ID并使用Gmail API。 您可以使用以下代码获取线程ID。

    var currentThreadId = document.querySelector("[data-inboxsdk-currentthreadid]").getAttribute('data-inboxsdk-currentthreadid');

    var legacyThreadId = document.querySelector("[data-thread-perm-id='"+currentThreadId+"']").getAttribute('data-legacy-thread-id');

legacyThreadId 将适用于API。