【问题标题】:Getting the subject line in gmail api - javascript在 gmail api 中获取主题行 - javascript
【发布时间】:2015-06-01 20:33:08
【问题描述】:

我正在尝试使用 gmail API 从电子邮件中获取主题行。我收到了电子邮件并尝试按照文档进行操作。我得到了一组标题,但每封电子邮件中主题行的占位符都不同。

我怎样才能始终取回主题标头?

现在我正在指定数组中的元素,如下所示:

var parsed5 = resp.payload.headers[1].name;

但是我不想指定区域的元素,有没有办法根据标题名称而不是元素来获取正确的东西?

【问题讨论】:

  • 这是响应的格式,您必须编写代码才能找到特定的标头。
  • 我想出了一个更好的方法,api调用中有一个参数可以抓取特定的标题,所以我只抓取了我想要的三个。处理起来容易得多。

标签: javascript angularjs email gmail-api


【解决方案1】:

所以我的解决方案只是在调用中使用一些 api 参数来只得到我想要的,所以我不必去寻找所有东西。

【讨论】:

  • 举个例子就好了
【解决方案2】:

你可以找到这样的主题:

for (var headerIndex = 0; headerIndex < resp.payload.headers.length; headerIndex++) {
                if (resp.payload.headers[headerIndex].name == 'Subject') {
                    relateMailDetail.openMailSubject = msg.payload.headers[headerIndex].value;
                }
                if (resp.payload.headers[headerIndex].name == 'From') {
                    relateMailDetail.from = msg.payload.headers[headerIndex].value;
                }
                if (resp.payload.headers[headerIndex].name == 'Date') {
                    relateMailDetail.recieveDate = msg.payload.headers[headerIndex].value;
                }
                if (resp.payload.headers[headerIndex].name == 'To') {
                    relateMailDetail.to = msg.payload.headers[headerIndex].value;
                }
                if (resp.payload.headers[headerIndex].name == 'Cc') {
                    relateMailDetail.cc = msg.payload.headers[headerIndex].value;
                }
                if (resp.payload.headers[headerIndex].name == 'Reply-To') {
                    relateMailDetail.replyTo = msg.payload.headers[headerIndex].value;
                }
            }

【讨论】:

  • 您不需要遍历所有数据,请添加metadataHeaders=Subject,这样您在payload.header 中只会得到Subject 信息
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 2016-02-01
  • 2019-08-04
  • 1970-01-01
  • 2016-04-26
  • 2020-10-27
  • 2017-12-06
  • 2018-12-23
相关资源
最近更新 更多