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 | 以 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()
getAs(contentType)
以转换为指定内容类型的 blob 形式返回此对象中的数据。此方法会在文件名中添加适当的扩展名,例如 "myfile.pdf"。但是,它假定文件名中最后一个句号后面的部分(如果有)是应替换的现有扩展名。因此,“ShoppingList.12.25.2014”将变为“ShoppingList.12.25.pdf”。
如需查看转化的每日配额,请参阅 Google 服务的配额。新创建的 Google Workspace 网域可能暂时受到更严格的配额约束。
参数
名称 | 类型 | 说明 |
---|---|---|
contentType | String | 要转换为的 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 的数据。
参数
名称 | 类型 | 说明 |
---|---|---|
charset | String | 用于以字符串形式编码此 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)
setContentType(contentType)
setContentTypeFromExtension()
setDataFromString(string)
setDataFromString(string, charset)
从具有指定编码的字符串中设置此 Blob 的数据。
参数
名称 | 类型 | 说明 |
---|---|---|
string | String | 字符串数据。 |
charset | String | 用于将字符串解读为字节的字符集。 |
返回
Blob
- 此 blob,用于串联。