【GAS】MIMEタイプとは何か?AppScriptで使えるmimeTYPEの一覧を実例で解説(初心者向け,わかりやすい,マイムタイプ,メディアタイプ,Media Type, ContentType)

Apps Script apps script GAS-prograshi(プロぐらし)-kv AppsScript
記事内に広告が含まれていることがあります。
[PR]

Google App Script(GAS)でGoogleドライブやファイルなどを扱うときに、MIMEタイプというものを指定することが多々あります。

MIMEタイプを使えば、指定した種類(JPEGやCSVなど)のファイルのみを取得したり、JPEGをPNGに変換するといったMIMEタイプの変更を行うことができます。

ここでは、そもそもMIMEタイプとは何なのか?やGASで指定できるMIMEタイプの一覧を紹介しています。


MIMEタイプとは何か?拡張子との違い

MIMEタイプとは何か?

MIMEタイプとは「Multipurpose Internet Mail Extensions」の略でファイルなどの形式を表すもので、「マイムタイプ」と呼びます。

ファイル形式とはTXTやCSV, JPEG, HTMLなどのことです。

メディアタイプ(Media Type)やContentType(要素タイプ)と呼ばれたりもします。AppScriptの公式ページでは「MimeType」が使われたり「ContentType」が使われたりします。


拡張子との違い

ファイルの形式を表すもので馴染みがあるのは「.txt」「.csv」「.jpg」「.gif」といった拡張子です。

この拡張子はWindowsでファイルの形式を指定するために使われているものです。一方、MIMEタイプはインターネットやメールでファイルのやりとりをするために定義されたファイル形式です。

「Multipurpose Internet Mail Extensions」を直訳すると「多目的インターネットメール拡張機能」となり、インターネットやメールのための拡張機能であることがわかります。


MIMEタイプの指定方法

GASでMIMEタイプを指定するとき、2つの指定方法があります。

AppScriptにおけるMIMEタイプの指定方法
  1. Enum MimeType(AppScript専用のMIMEタイプ指定方法)
  2. 一般的なMIMEタイプ


一般的なMIMEタイプは「text/plain」「text/html」「image/jpeg」よのうにスラッシュを挟んだ文字列で指定します。

これに対してGASで用意されているMIMEタイプの指定方法にEnum MimeTypeがあります。これは、「MimeType.PDF」「MimeType.CSV」「MimeType.GOOGLE_SHEETS」のように直感的にファイル形式を指定することができます。

特に、通常の拡張子では存在しない、Goolgeドキュメントやスプレッドシート、フォームなども扱えることがポイントです。

GASでMIMEタイプを指定するときは上記の2つのどちらも利用可能です。

以下にそれぞれの一覧を掲載しています。


Enum MimeType(AppScript専用のMIMEタイプ指定方法)

MIMEタイプの指定方法

「Enum MimeType」はAppScript専用のMIMEタイプの指定方法です。

通常のCSVやJPEGファイルなどだけでなく、Goolgeドキュメントやスプレッドシート、フォームなどのGoogleが提供しているファイル形式も指定することができます

MimeType.GOOGLE_DOCSのように、MimeTypeというオブジェクトに対してプロパティを指定します。

MimeType.プロパティ


指定方法の例は以下のようになります。

const mimeTypes = { csv: MimeType.MICROSOFT_EXCEL, pdf: MimeType.PDF };

var docs = DriveApp.getFilesByType(MimeType.GOOGLE_DOCS);

UrlFetchApp.fetch(url).getAs(MimeType.PDF); 




MIMEタイプの一覧

プロパティ内容
GOOGLE_APPS_SCRIPTGoogle Apps Script プロジェクトの MIME タイプを表します。
GOOGLE_DRAWINGSGoogle 図形描画 ファイルの MIME タイプを表します。
GOOGLE_DOCSGoogle ドキュメント ファイルの MIME タイプを表します。
GOOGLE_FORMSGoogle フォーム ファイルの MIME タイプを表します。
GOOGLE_SHEETSGoogle スプレッドシート ファイルの MIME タイプを表します。
GOOGLE_SITESGoogle サイト ファイルの MIME タイプを表します。
GOOGLE_SLIDESGoogle スライド ファイルの MIME タイプを表します。
FOLDERGoogle ドライブ フォルダの MIME タイプを表します。
SHORTCUTGoogle ドライブのショートカットの MIME タイプを表します。
BMPBMP 画像ファイルの MIME タイプ(通常は .bmp)を表します。
GIFGIF 画像ファイル(通常は .gif)の MIME タイプを表します。
JPEGJPEG 画像ファイルの MIME タイプ(通常は .jpg)の表現。
PNGPNG 画像ファイルの MIME タイプ(通常は .png)を表します。
SVGSVG 画像ファイル(通常は .svg)の MIME タイプを表します。
PDFPDF ファイル(通常は .pdf)の MIME タイプを表します。
CSSCSS テキスト ファイル(通常は .css)の MIME タイプを表します。
CSVCSV テキスト ファイル(通常は .csv)の MIME タイプを表します。
HTMLHTML テキスト ファイルの MIME タイプ(通常は .html)を表します。
JAVASCRIPTJavaScript テキスト ファイル(通常は .js)の MIME タイプを表します。
PLAIN_TEXT書式なしテキスト ファイルの MIME タイプ(通常は .txt)を表します。
RTFリッチテキスト ファイル(通常は .rtf)の MIME タイプを表します。
OPENDOCUMENT_GRAPHICSOpenDocument グラフィック ファイルの MIME タイプ(通常は .odg)を表します。
OPENDOCUMENT_PRESENTATIONOpenDocument プレゼンテーション ファイルの MIME タイプを表します(通常は .odp)。
OPENDOCUMENT_SPREADSHEETOpenDocument スプレッドシート ファイルの MIME タイプを表します(通常は .ods)。
OPENDOCUMENT_TEXTOpenDocument ワープロ ファイルの MIME タイプ(通常は .odt)の表現。
MICROSOFT_EXCELMicrosoft Excel スプレッドシート ファイル(通常は .xlsx)の MIME タイプを表します。
MICROSOFT_EXCEL_LEGACY以前の Microsoft Excel ファイル(通常は .xls)の MIME タイプを表します。
MICROSOFT_POWERPOINTMicrosoft PowerPoint プレゼンテーション ファイルの MIME タイプ(通常は .pptx)を表します。
MICROSOFT_POWERPOINT_LEGACYMicrosoft PowerPoint のレガシー ファイル(通常は .ppt)の MIME タイプを表します。
MICROSOFT_WORDMicrosoft Word ドキュメント ファイルの MIME タイプ(通常は .docx)を表します。
MICROSOFT_WORD_LEGACY以前の Microsoft Word ファイル(通常は .doc)の MIME タイプを表します。
ZIPZIP アーカイブ ファイルの MIME タイプ(通常は .zip)を表します。

(参考)AppScript: Enum MimeType



一般的なMIMEタイプ

MIMEタイプの指定方法

一般的なMIMEタイプの指定方法はタイプとサブタイプを指定します。

タイプ/サブタイプ


タイプには「image」「text」「video」「audio」「model」「application」などがあります。「application」はどのタイプにも当てはまらないバイナリデータです。

サブタイプで具体的なファイル形式を指定します。

例えば「textタイプ」には以下のようなサブタイプがあります。

  • text/plain
  • text/html
  • text/csv


「imageタイプ」には以下のようなサブタイプがあります。

  • image/jpeg
  • image/png
  • image/tiff


一般的なMIMEタイプは皆さんが想像している以上にかなり多くのものがあります。例えば、imageタイプだけでもこんなにあります。(※これで1/3ぐらいです)

(参考)iana: Media Types(MIMEタイプの一覧)



引数を指定する

MIMEタイプを指定するときに、タイプとサブタイプだけでなく引数を指定することもあります。

タイプ/サブタイプ;引数=値


例えば、テキストファイルで文字コードとしてUTF-8を指定する場合は以下のようにします。

text/plain;charset=UTF-8



主なMIMEタイプの一覧

上記で少し紹介したように一般のMIMEタイプは相当数が用意されています。すべてを紹介するのはあまりにナンセンスなので、一般的によく見かける主なMIMEタイプの一覧を紹介します。


MIMEタイプ拡張子ファイル形式
audio/aac.aacAAC 音声
image/bmp.bmpWindows OS/2 ビットマップ画像
text/css.cssカスケーディングスタイルシート (CSS)
text/csv.csvカンマ区切り値 (CSV)
application/gzip.gzGZip 圧縮アーカイブ
image/gif.gifグラフィック交換形式 (GIF)
text/html.htm .htmlハイパーテキストマークアップ言語 (HTML)
text/calendar.icsiCalendar 形式
image/jpeg.jpeg .jpgJPEG 画像
text/javascript.jsJavaScript
application/json.jsonJSON 形式
audio/mpeg.mp3MP3 音声
video/mpeg.mpegMPEG 動画
image/png.pngPortable Network Graphics
application/pdf.pdfAdobe Portable Document Format (PDF)
application/x-httpd-php.phpHypertext Preprocessor (Personal Home Page)
application/vnd.ms-powerpoint.pptMicrosoft PowerPoint
application/vnd.openxmlformats-officedocument.presentationml.presentation.pptxMicrosoft PowerPoint (OpenXML)
application/x-sh.shBourne shell スクリプト
image/svg+xml.svgScalable Vector Graphics (SVG)
text/plain.txtテキストファイル (一般に ASCII or ISO 8859-n)
image/webp.webpWEBP 画像
application/vnd.ms-excel.xlsMicrosoft Excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.xlsxMicrosoft Excel (OpenXML)
application/xml.xmlXML
application/zip.zipZIP アーカイブ


参考

MIMEタイプをもっと詳しく知りたいという方は下記ページをご参考ください。



タイトルとURLをコピーしました