Class GmailAttachment

GmailAttachment

Gmail 中的附件。这是一个常规的 Blob,只不过它有一个比调用 getBytes().length 更快的 getSize() 方法,且不会计入 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以采用 UTF-8 编码的字符串的形式获取此 blob 的数据。
getDataAsString(charset)String以具有指定编码的字符串的形式获取此 blob 的数据。
getHash()String获取此附件的 SHA1 内容哈希。
getName()String获取此 Blob 的名称。
getSize()Integer获取此附件的大小。
isGoogleType()Boolean返回此 blob 是否为 Google Workspace 文件(Google 表格、Google 文档等)。
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' 中的任何一个也都有效。

弃踢回攻

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 文件(Google 表格、Google 文档等)。

弃踢回攻

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,用于链接。

已废弃的方法