javascript - 如何使用 JavaScript 解析来自 Gmail API 的 JSON?

标签 javascript json gmail-api

如何使用 JavaScript 从 Gmail API 的返回中提取日期、收件人、发件人、主题和文本字段(见下文)?

它不是通常的名称-值对,至少不是我使用 JSON 的方式。另外,文本需要解码。

{
 "id": "rthrt34t34t45g45g4",
 "threadId": "gg54tgw4y45t24f3f",
 "labelIds": [
  "SENT"
 ],
 "snippet": "Testing 1 2 3",
 "historyId": "2344",
 "payload": {
  "mimeType": "multipart/alternative",
  "filename": "",
  "headers": [
   {
    "name": "MIME-Version",
    "value": "1.0"
   },
   {
    "name": "Received",
    "value": "by 101.64.82.199 with HTTP; Wed, 18 Feb 2015 21:34:49 -0800 (PST)"
   },
   {
    "name": "Date",
    "value": "Thu, 19 Feb 2015 12:34:49 +0700"
   },
   {
    "name": "Delivered-To",
    "value": "test@test.org"
   },
   {
    "name": "Message-ID",
    "value": "<retert-_RKS0Vc-U6-V8dSma5=ertertertertf2e@mail.gmail.com>"
   },
   {
    "name": "Subject",
    "value": "testing 123"
   },
   {
    "name": "From",
    "value": "A Test <test@test.org>"
   },
   {
    "name": "To",
    "value": "test.test@test.com"
   },
   {
    "name": "Content-Type",
    "value": "multipart/alternative; boundary=egrreg34t34"
   }
  ],
  "body": {
   "size": 0
  },
  "parts": [
   {
    "partId": "0",
    "mimeType": "text/plain",
    "filename": "",
    "headers": [
     {
      "name": "Content-Type",
      "value": "text/plain; charset=UTF-8"
     }
    ],
    "body": {
     "size": 8,
     "data": "MTIzNDU2DQo="
    }
   },
   {
    "partId": "1",
    "mimeType": "text/html",
    "filename": "",
    "headers": [
     {
      "name": "Content-Type",
      "value": "text/html; charset=UTF-8"
     }
    ],
    "body": {
     "size": 29,
     "data": "PGRpdiBkaXI9Imx0ciI-MTIzNDU2PC9kaXY-DQo="
    }
   }
  ]
 },
 "sizeEstimate": 651
}

最佳答案

上网冲浪发现了这个class它描述了通用 GMail 消息。您可以使用它轻松解析 JSON(通过使用任何提供的各种库)。

关于javascript - 如何使用 JavaScript 解析来自 Gmail API 的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28599753/

相关文章:

objective-c - 使用 Restkit 映射到 REST 时如何更改属性值?

c# - 将 Gmail API 消息转换为 OpenPop Mime 消息

javascript - 来自另一组按钮的 Class Buttons 上的 QuerySelector

javascript - 将 "pushing"数据传输到 Polymer 元素的最有效方式

python - 如何使用 Jinja2 模板引擎生成 json

javascript - 使用 gmail api 获取与草稿邮件关联的已发送邮件

email - MIME 电子邮件的 Base64 解码不起作用(GMail API)

javascript - Jquery错误: SyntaxError: missing ; before statement

大数据的 Javascript 循环优化

python - 在 Python 中使用 JSON