Class GmailAttachment

Gmail附件

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

// Logs information about any attachments in the first 100 inbox threads.
const threads = GmailApp.getInboxThreads(0, 100);
const msgs = GmailApp.getMessagesForThreads(threads);
for (let i = 0; i < msgs.length; i++) {
  for (let j = 0; j < msgs[i].length; j++) {
    const attachments = msgs[i][j].getAttachments();
    for (let 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以 UTF-8 编码的字符串形式获取此 Blob 的数据。
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()

以 UTF-8 编码的字符串形式获取此 Blob 的数据。

返回

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 - 如果此 blob 是 Google Workspace 文件,则为 true;否则为 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,用于链式调用。

已弃用的方法