MCP Tools Reference: drivemcp.googleapis.com

工具:create_file

呼叫這項工具,在 Google 雲端硬碟中建立或上傳檔案。

如要上傳內容,文字內容請使用「text_content」。如為非 UTF8 內容,請使用「base64_content」欄位,並將資料進行 base64 編碼,然後設定該欄位。

成功建立後,會傳回單一 File 物件。

您可以建立下列 Google 第一方 MIME 類型,不必提供內容:

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

將 MIME 類型設為 application/vnd.google-apps.folder 即可建立資料夾。

上傳內容時,必須填寫 content_mime_type 欄位,且應與上傳內容的類型相符。

根據預設,系統會將支援的內容轉換為 Google 第一方 MIME 類型。

如要停用第一方 MIME 類型的轉換,請將 disable_conversion_to_google_type 設為 true。

下列範例示範如何使用 curl 叫用 create_file MCP 工具。

Curl 要求
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_file",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

輸入內容的結構定義

要求上傳檔案。

CreateFileRequest

JSON 表示法
{
  "title": string,
  "mimeType": string,
  "contentMimeType": string,
  "content": string,
  "base64Content": string,
  "textContent": string,
  "parentId": string,
  "disableConversionToGoogleType": boolean
}
欄位
title

string

檔案標題。

mimeType

string

已淘汰。請勿使用!請改為設定 content_mime_type。

contentMimeType

string

上傳內容的 MIME 類型。提供任何類型的內容時,都必須填寫這項資訊。

content

string

以 Base64 編碼的檔案內容。無論檔案的 MIME 類型為何,內容欄位一律應採用 base64 編碼。已淘汰。請改用 base64_content 或 text_content。

base64Content

string

(選用步驟) 要上傳的 Base64 編碼內容。設定這項屬性和 text_content 時會發生錯誤。

textContent

string

(選用步驟) 要上傳的 (UTF-8) 文字內容。設定這個屬性和 base64_content 會導致錯誤。

parentId

string

檔案的父項 ID。

disableConversionToGoogleType

boolean

設為 true 即可保留傳入的內容 MIME 類型,不會轉換為 Google 類型。舉例來說,如果沒有這項設定,text/plain 內容 MIME 類型會轉換為 application/vnd.google-apps.document。如果類型沒有對應的 Google 類型,則不會有任何影響。

輸出內容的結構定義

檔案資源。

檔案

JSON 表示法
{
  "id": string,
  "title": string,
  "parentId": string,

  "mimeType": string

  "fileSize": string

  "description": string

  "fileExtension": string

  "contentSnippet": string

  "viewUrl": string

  "sharedWithMeTime": string

  "createdTime": string

  "modifiedTime": string

  "viewedByMeTime": string

  "owner": string

  "canAddChildren": boolean
}
欄位
id

string

擷取檔案的 ID。

title

string

檔案標題。

parentId

string

檔案父項的 ID (選用)。

聯集欄位 _mime_type

_mime_type 只能是下列其中一項:

mimeType

string

檔案的 MIME 類型。

聯集欄位 _file_size

_file_size 只能是下列其中一項:

fileSize

string (int64 format)

檔案大小 (以位元組為單位)。

聯集欄位 _description

_description 只能是下列其中一項:

description

string

檔案說明。

聯集欄位 _file_extension

_file_extension 只能是下列其中一項:

fileExtension

string

檔案的原始副檔名,只有儲存在雲端硬碟中的檔案才會填入這個值。

聯集欄位 _content_snippet

_content_snippet 只能是下列其中一項:

contentSnippet

string

系統根據檔案內容生成的摘要。

聯集欄位 _view_url

_view_url 只能是下列其中一項:

viewUrl

string

查看檔案的網址。

聯集欄位 _shared_with_me_time

_shared_with_me_time 只能是下列其中一項:

sharedWithMeTime

string (Timestamp format)

檔案與要求者共用的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

聯集欄位 _created_time

_created_time 只能是下列其中一項:

createdTime

string (Timestamp format)

檔案建立時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

聯集欄位 _modified_time

_modified_time 只能是下列其中一項:

modifiedTime

string (Timestamp format)

檔案最近一次修改的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

聯集欄位 _viewed_by_me_time

_viewed_by_me_time 只能是下列其中一項:

viewedByMeTime

string (Timestamp format)

要求者最近一次查看檔案的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

聯集欄位 _owner

_owner 只能是下列其中一項:

owner

string

檔案擁有者的電子郵件地址。

聯集欄位 _can_add_children

_can_add_children 只能是下列其中一項:

canAddChildren

boolean

要求者是否可將孩子新增至這個資料夾。如果不是資料夾類型,這項屬性一律為 false。

時間戳記

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
欄位
seconds

string (int64 format)

代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 之間 (含),對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z。

nanos

integer

以奈秒為單位的非負秒數小數。這個欄位是時間長度的奈秒部分,並非秒數的替代值。如果第二個值為負數,且包含分數,奈秒值仍須為非負數,且時間會往前計算。必須介於 0 至 999,999,999 之間 (含)。

工具註解

破壞性提示:❌ | 等冪提示:❌ | 唯讀提示:❌ | 開放世界提示:✅

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.appdata
  • https://www.googleapis.com/auth/drive.file