Gmail API - 获取包含附件的邮件的原始数据不完整> 5MB

时间:2017-10-09 18:59:36

标签: google-apps-script gmail-api

GMAIL API“ Users.messages:get ”不提取包含超过5MB附件的邮件的完整原始数据,这反过来会抛出“ Unterminated string literal “由于JSON不完整。

function insertMessage(messageId) {
        var url = "https://www.googleapis.com/gmail/v1/users/me/messages/" + messageId + "?format=raw&fields=raw";
        var headers = {
                Authorization: 'Bearer ' + ScriptApp.getOAuthToken()
        }
        var params = {
                method: "get",
                contentType: "application/json",
                headers: headers,
                muteHttpExceptions: true
        }
        var response = UrlFetchApp.fetch(url, params);
        var rawMsg = JSON.parse(response)["raw"].toString().replace(/\-/g, '+').replace(/\_/g, '/');
}

以上情况适用于没有附件或附件低于5MB的邮件。

如果我更改为以下行,则不会出现任何错误,但excel的邮件附件会损坏,如果没有图片,则会包含一些错误。

var rawMsg = JSON.parse(response+'"}')["raw"].toString().replace(/\-/g, '+').replace(/\_/g, '/');

我已经在Google Issue Tracker提出了问题。是否有其他方法可以获取原始数据以及所有附件?

0 个答案:

没有答案