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,用於鏈結。

已淘汰的方法