只获取Gmail API中的特定消息

只获取Gmail API中的特定消息,api,gmail,gmail-api,Api,Gmail,Gmail Api,所以我想做的是通过Gmail API从我的Gmail帐户中获取消息,但是我获取的消息与回复到的消息一起出现 发生了什么:(示例消息) 完成了 一定要让我知道你对这件事的看法 问候 ABC 2016年1月8日,星期五,John Doe写道: 我以为这早就做了? 2016年1月8日下午5:01,美国广播公司写道: 请让我们知道我可以和谁谈谈这件事 问候, 基础知识 我想要的是: 完成了 一定要让我知道你对这件事的看法 问候,, ABC我只能通过修改使用org.jsoup.jsoup操作收到的HTML

所以我想做的是通过Gmail API从我的Gmail帐户中获取消息,但是我获取的消息与回复到的消息一起出现

发生了什么:(示例消息)

完成了

一定要让我知道你对这件事的看法

问候 ABC

2016年1月8日,星期五,John Doe写道: 我以为这早就做了? 2016年1月8日下午5:01,美国广播公司写道:

请让我们知道我可以和谁谈谈这件事

问候,

基础知识 我想要的是:

完成了

一定要让我知道你对这件事的看法

问候,,
ABC

我只能通过修改使用org.jsoup.jsoup操作收到的HTML消息来摆脱Java中的HTML消息。这是从现有代码中截取的,所以希望我没有忘记:

final Document doc = Jsoup.parse(gmail_message);

// Remove first gmail_quote div if exists, to clean up long threads.
if (null != doc.select("div.gmail_quote").first())
{
   doc.select("div.gmail_quote").first().remove();
}

// Remove any inline images from message as they are included as attachments
while (null != (doc.select("img[src^=cid:]").first())
{
   doc.select("img[src^=cid:]").first().remove();
}

// We remove any scripts in message
while (null != doc.select("script").first())
{
   doc.select("script").first().remove();
}

// We remove any iframes
while (null != doc.select("iframe").first())
{
   doc.select("iframe").first().remove();
}

message_text.setValue(doc.toString());
我已经有一段时间没有看到任何内联消息了,除了来自非Gmail用户的消息,这是很少见的。我也摆脱了那些讨厌的内联图像。正如你所看到的,我在这里有点疯狂,并且删除了脚本和iFrame。Meh.)


我希望这能有所帮助。

恐怕Gmail就是这样工作的。原始消息实际上是实际响应的一部分,因此您必须自己删除它。有,但要使其适用于所有类型的邮件是很困难的。@Thole您能推荐一些更多的策略吗?@devpro我恐怕没有代码显示,因为我仍在从GMAIL API参考中探索此功能。@RahulDhawani抱歉,我从来没有亲自做过,所以我不知道:(取决于您尝试构建的应用程序-在对话模式下,您可以通过Gmail UI访问该应用程序。您可以使用InboxSDK之类的工具访问主体或删除DOM。如果您不打算为您的应用程序使用Chrome扩展,则这将不合适。