当前位置: 首页 > 面试题库 >

Gmail API-使用Java脚本解析邮件内容(Base64解码?)

景光赫
2023-03-14
问题内容

我正在尝试使用Gmail
API来获取用户的电子邮件,获取邮件的主题和正文,然后将其显示在网页上。我将用它来做其他事情,但这是我遇到的困难。我正在使用Angular.js。

这是我的API调用:

function makeApiCall() {
  gapi.client.load('gmail', 'v1', function() {
    var request = gapi.client.gmail.users.messages.list({
      labelIds: ['INBOX']
    });
    request.execute(function(resp) {
      var content = document.getElementById("message-list");
      angular.forEach(resp, function(message) {
        var email = gapi.client.gmail.users.messages.get({'id': message.id});
        // var raw = email.payload.parts;
        // console.log(raw);
        content.innerHTML += JSON.stringify(email) + "<br>";
      })
    });
  });
}

因此,gapi.client.gmail.users.messages.list返回我的消息数组及其ID号。很好

调用gapi.client.gmail.users.messages.get({<specific message ID>})输出this-
{"B":{"method":"gmail.users.messages.get","rpcParams":{},"transport":{"name":"googleapis"}}}

不确定是什么,但尝试获取消息有效负载(email.payload.parts),结果为undefined。那么,如何获得消息内容?

另外,我假设如果我可以获取消息内容,那么我将不得不对Base64进行解码以从中获取一些英语信息。任何对此的建议也将有很大帮助。我发现了这一点:https
:
//github.com/kvz/phpjs,但是由于我不确定如何获取消息内容,以便我可以尝试对其进行解码,所以不确定是否该php.js在这方面有帮助。


问题答案:

根据您的电子邮件的外观(单个文本/纯文本部分,带有文本/
html的多部分文本,附件等?),您的email.payload中可能有也可能没有任何“部分”,取而代之的是在“
email.payload.body.data”中查找(用于单部分邮件)。所有这些都假设您正在使用默认格式(“完整”)执行message.get。如果您想在message.raw字段中获取整个电子邮件,并在电子邮件库中使用您的语言进行处理,则可以调用message.get(format
= raw)。

有关更多信息,请查看https://developers.google.com/gmail/api/v1/reference/users/messages上
“消息”的“正文”和“部件[]”字段文档。



 类似资料:
  • 我正在尝试使用Gmail API获取用户的电子邮件,抓取消息主题和正文,然后将其显示在一个网页上。我会用它做其他事情,但这是我有困难的部分。我正在使用Angular.js。 下面是我的API调用: 因此返回我的消息数组及其ID号。这很管用。 对的调用将输出以下内容-。 不确定这是什么,但尝试获取消息有效负载(),会导致。那么,如何获取消息内容呢? 此外,我假设如果我可以获得消息内容,那么我将不得不

  • 问题内容: 这是我的HTML来源 这是我获取内容的Java程序,它过滤HTML标记 是否有使用Jsoup而不是使用Java而不是Regex解析HTML内容的简便方法 有没有办法只获取所需的内容。所以在这里我只需要内容“项目2-222” 问题答案: 尝试使用jsoup轻松解析: 要了解更多信息,请访问Jsoup Docs

  • 问题内容: 我正在编写一个Python脚本来处理Procmail返回的电子邮件。如该问题中所建议,我正在使用以下Procmail配置: 我的process_mail.py脚本正在通过stdin接收电子邮件,如下所示: 我正在尝试以这种方式解析消息: 我想获取诸如“发件人”,“收件人”和“主题”之类的消息字段。但是,消息对象不包含任何这些字段。 我究竟做错了什么? 问题答案: 您必须确保这些行不会意

  • 我已经尝试了整整一周使用antlr构建一个语法,允许我解析电子邮件消息。 我的目标不是将整个电子邮件彻底解析为令牌,而是将其分解为相关部分。 这是我必须处理的文档格式。描述不属于消息一部分的内联注释: 我面临的问题如下: 我没有想出一个好方法来跳过消息开头的文本,并在找到标记后才开始应用解析规则。截面类型1 捕获节开始和句子标记之间节内的所有文本 在SECTION\u结束标记之后,忽略后面的所有文

  • 问题内容: 是否有人熟悉Java库,该库有助于解析以下电子邮件的字段(日期,主题,从,到)? 问题答案: JavaMail是一个Oracle库,它在javax.mail软件包中提供邮件服务和与邮件相关的服务(例如解析常规邮件和MIME邮件)。另外,Apache有一个用于处理邮件的Commons Email 库。 在JavaMail API中,解析包含电子邮件消息的字符串(可能是或可能不是明确的MI

  • 我有下面的代码,用于使用带有附件和正文部分(消息部分)的Java mail API发送邮件,但我只得到附件,而不是正文消息。 如有任何帮助或意见,将不胜感激。