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

我正在尝试使用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-使用Java脚本解析邮件内容(Base64解码?) 的全部内容, 来源链接: utcz.com/qa/411202.html

回到顶部