Class GmailAttachment

GmailAttachment

Gmail 中的附件。这是常规 Blob,只不过它有一个额外的 getSize() 方法,该方法比调用 getBytes().length,并且不计入 Gmail 读取配额。

// Logs information about any attachments in the first 100 inbox threads.
var threads = GmailApp.getInboxThreads(0, 100);
var msgs = GmailApp.getMessagesForThreads(threads);
for (var i = 0 ; i < msgs.length; i++) {
  for (var j = 0; j < msgs[i].length; j++) {
    var attachments = msgs[i][j].getAttachments();
    for (var k = 0; k < attachments.length; k++) {
      Logger.log('Message "%s" contains the attachment "%s" (%s bytes)',
                 msgs[i][j].getSubject(), attachments[k].getName(), attachments[k].getSize());
    }
  }
}

方法

方法返回类型简介
copyBlob()Blob返回此 Blob 的副本。
getAs(contentType)Blob将此对象中的数据作为转换为指定内容类型的 blob 返回。
getBytes()Byte[]获取存储在此 blob 中的数据。
getContentType()String获取此 blob 中字节的内容类型。
getDataAsString()String获取此 Blob 的数据,作为采用 UTF-8 编码的字符串。
getDataAsString(charset)String获取具有指定编码的字符串形式的此 blob 数据。
getHash()String获取此附件的 SHA1 内容哈希。
getName()String获取此 Blob 的名称。
getSize()Integer获取该附件的大小。
isGoogleType()Boolean返回此 Blob 是否为 Google Workspace 文件(表格、文档等)。
setBytes(data)Blob设置此 blob 中存储的数据。
setContentType(contentType)Blob设置此 blob 中字节的内容类型。
setContentTypeFromExtension()Blob根据文件扩展名设置此 blob 中字节的内容。
setDataFromString(string)Blob从采用 UTF-8 编码的字符串设置此 blob 的数据。
setDataFromString(string, charset)Blob通过具有指定编码的字符串设置此 blob 的数据。
setName(name)Blob设置此 Blob 的名称。

详细文档

copyBlob()

返回此 Blob 的副本。

返回

Blob - 新副本。


getAs(contentType)

将此对象中的数据作为转换为指定内容类型的 blob 返回。本次 方法会为文件名添加相应的扩展名,例如“myfile.pdf”。不过, 最后一个句点之后的文件名部分(如果有)假定存在 扩展名。因此,“ShoppingList.12.25.2014”会变为 “ShoppingList.12.25.pdf”。

要查看转化次数的每日配额,请参阅 Google 配额 服务。新创建的 Google Workspace 网域可能会暂时适用更严格的条件 配额。

参数

名称类型说明
contentTypeString要转换为的 MIME 类型。对于大多数 blob,'application/pdf' 为 唯一有效的选项对于 BMP、GIF、JPEG 或 PNG 格式的图片,'image/bmp''image/gif''image/jpeg''image/png' 中的任何一个也 有效。对于 Google 文档,'text/markdown' 也有效。

返回

Blob - 以 blob 形式表示的数据。


getBytes()

获取存储在此 blob 中的数据。

返回

Byte[] - 存储的字节数。


getContentType()

获取此 blob 中字节的内容类型。

返回

String - 此数据的内容类型(如果已知)或 null


getDataAsString()

获取此 Blob 的数据,作为采用 UTF-8 编码的字符串。

返回

String - 字符串形式的数据。


getDataAsString(charset)

获取具有指定编码的字符串形式的此 blob 数据。

参数

名称类型说明
charsetString将此 blob 中的数据编码为字符串时使用的字符集。

返回

String - 字符串形式的数据。


getHash()

获取此附件的 SHA1 内容哈希。此方法不会计入 Gmail 读取配额

返回

String - SHA1 内容哈希(字符串形式)。

授权

使用此方法的脚本需要以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

getName()

获取此 Blob 的名称。

返回

String - 此数据的名称(如果已知)或 null


getSize()

获取该附件的大小。此方法比调用 getBytes().length 速度更快,且不计入 Gmail 读取配额。

返回

Integer - 附件的大小(以字节为单位)。

授权

使用此方法的脚本需要以下一个或多个范围相关 REST API 的适当范围的授权:

  • https://mail.google.com/

isGoogleType()

返回此 Blob 是否为 Google Workspace 文件(表格、文档等)。

返回

Boolean - true(如果此 blob 是 Google Workspace 文件);否则为 false


setBytes(data)

设置此 blob 中存储的数据。

参数

名称类型说明
dataByte[]新数据。

返回

Blob - 此 blob,用于链接。


setContentType(contentType)

设置此 blob 中字节的内容类型。

参数

名称类型说明
contentTypeString新的 contentType。

返回

Blob - 此 blob,用于链接。


setContentTypeFromExtension()

根据文件扩展名设置此 blob 中字节的内容。contentType 为 如果无法通过其扩展名猜出,则为 null

返回

Blob - 此 blob,用于链接。


setDataFromString(string)

从采用 UTF-8 编码的字符串设置此 blob 的数据。

参数

名称类型说明
stringString字符串数据。

返回

Blob - 此 blob,用于链接。


setDataFromString(string, charset)

通过具有指定编码的字符串设置此 blob 的数据。

参数

名称类型说明
stringString字符串数据。
charsetString将字符串解释为字节时使用的字符集。

返回

Blob - 此 blob,用于链接。


setName(name)

设置此 Blob 的名称。

参数

名称类型说明
nameString新名称。

返回

Blob - 此 blob,用于链接。

已弃用的方法