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' 中的任一個也是有效的格式。

回攻員

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 檔案 (試算表、文件等)。

回攻員

Booleantrue 表示這個 blob 是 Google Workspace 檔案;如果不是 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,用於鏈結。

已淘汰的方法