当前位置: 首页 > 知识库问答 >
问题:

如何使用Node从gmails api获得电子邮件正文?

邵飞白
2023-03-14
async function getMessages(auth){
  const gmail = google.gmail({version: 'v1', auth});

  let theMessages =  await gmail.users.messages.list({
    userId:"me",
    maxResults:10
  })

  let theIds = theMessages.data.messages
  let theId = theIds[0].id

  let response = await gmail.users.messages.get({
    userId:"me",
    id:theId
  })

  let theData = response.data
}
historyId:"1"
id:"1"
internalDate:"1"
labelIds:Array(4) ["UNREAD", "IMPORTANT", "SENT", …]
payload:Object {partId: "", mimeType: "multipart/alternative", filename: "", …}
body:Object {size: 0}
__proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , …}
sizeEstimate:578
snippet:"Hey"
threadId:"1"
__proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , …}
filename:""
headers:Array(7) [Object, Object, Object, …]
mimeType:"multipart/alternative"
partId:""
parts:Array(2) [Object, Object]

我如何从这些信息中获得电子邮件的正文。我尝试查看body属性,但只找到大小:0。消息的一部分以代码片段的形式存在,但显然不是完整的消息。

任何帮助都很感激。

共有1个答案

钦景胜
2023-03-14

消息正文位于response.data.payload中,如文档中定义的:

有效负载:消息部分中经过分析的电子邮件结构。

MessagePart部分提供了有关数据结构的更多细节,需要对base-64编码的内容进行解码。

 类似资料:
  • 我能够通过IMAP连接到Gmail并进行解析,但是在电子邮件正文中,我获得了Gmail特定的内容,例如

  • 问题内容: 我想从IMAP4服务器获取整个邮件。在python文档中,如果发现此代码有效: 我想知道我是否总是可以相信data [0] [1]返回消息的主体。当我运行“ RFC822.SIZE”时,我只有一个字符串而不是一个元组。 我已经浏览了rfc1730,但无法弄清楚“ RFC822”的正确响应结构。也很难从imaplib文档中得知获取结果的结构。 这是我在获取时得到的: 但是当我获取时,我得

  • 问题内容: 我试图为用户建立确认电子邮件地址,以验证他们的电子邮件是真实的。我应该使用哪个软件包来确认用户的电子邮件地址。到目前为止,我使用猫鼬和快递 代码示例 在app.post代码中,如何确认用户的电子邮件地址? 问题答案: 您要找的是“帐户验证”或“电子邮件验证”。有很多Node模块可以执行此操作,但是原理如下: 您的用户模型应具有默认情况下的属性 当用户提交有效的注册表单时,创建一个新用户

  • IM工作在一个小部件,显示未读电子邮件计数的Gmail和其他电子邮件帐户设置在智能手机。我使用谷歌邮件API为Gmail和它的作品查找,但我没有得到如何与正常的电子邮件应用程序的工作。 我尝试使用帐户管理器获取登录凭据并自己检索信息,但它没有运行,因为我无法获取任何密码。只需验证令牌。我在谷歌上找不到任何关于如何使用普通电子邮件帐户的解决方案,这些帐户不是来自谷歌邮件。 更新:我试图获得密码与此功

  • 问题内容: 我已经尝试通过库成功使用OAuth进行身份验证。 从客户端重定向回后,我发送成功 我发现什么都没有告诉电子邮件部分(为空): 第一个问题 ,如何正确获取电子邮件?无需使用Google+ API。 编辑#2 我尝试将另一个用于: 并尝试使用较新的API检索电子邮件: 但它给 编辑#3 我尝试使用另一个范围: 并尝试使用以下URL检索电子邮件: 但它仍然像以前一样为空。 第二个问题 ,我可