Narzędzie: create_file
Wywołaj to narzędzie, aby utworzyć plik na Dysku Google lub przesłać go na Dysk.
Jeśli przesyłasz plik, treść musi być zakodowana w formacie Base64 w polu content niezależnie od typu MIME przesyłanego pliku.
W przypadku pomyślnego utworzenia zwraca pojedynczy obiekt File.
Następujące typy MIME Dysku Google można utworzyć bez podawania treści:
application/vnd.google-apps.documentapplication/vnd.google-apps.spreadsheetapplication/vnd.google-apps.presentation
Domyślnie w przypadku tych typów MIME będą przeprowadzane te konwersje:
- Od
text/plaindoapplication/vnd.google-apps.document - Od
text/csvdoapplication/vnd.google-apps.spreadsheet
Aby wyłączyć konwersje w przypadku własnych typów MIME, ustaw wartość disable_conversion_to_google_type na „true”.
Foldery można tworzyć, ustawiając typ MIME na application/vnd.google-apps.folder.
Poniższy przykład pokazuje, jak za pomocą znaku curl wywołać narzędzie create_file MCP.
| Żądanie curl |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp' \ --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 MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat wejściowy
Prośba o przesłanie pliku.
CreateFileRequest
| Zapis JSON |
|---|
{ "title": string, "mimeType": string, "content": string, "parentId": string, "disableConversionToGoogleType": boolean } |
| Pola | |
|---|---|
title |
Tytuł pliku. |
mimeType |
Typ MIME pliku do przesłania. |
content |
Treść pliku zakodowana w formacie Base64. Pole content powinno być zawsze zakodowane w formacie Base64, niezależnie od typu MIME pliku. |
parentId |
Identyfikator nadrzędny pliku. |
disableConversionToGoogleType |
Jeśli wartość to „true”, plik nie zostanie przekonwertowany na typ Google. Nie ma wpływu na typy MIME, które nie mają odpowiednika w Google. |
Schemat wyjściowy
Zasób pliku.
Plik
| Zapis 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 } |
| Pola | |
|---|---|
id |
Identyfikator pobranego pliku. |
title |
Tytuł pliku. |
parentId |
(Opcjonalny) identyfikator elementu nadrzędnego pliku. |
Pole zbiorcze Pole |
|
mimeType |
Typ MIME pliku. |
Pole zbiorcze Pole |
|
fileSize |
Rozmiar pliku w bajtach. |
Pole zbiorcze Pole |
|
description |
Opis pliku. |
Pole zbiorcze Pole |
|
fileExtension |
Oryginalne rozszerzenie pliku. To pole jest wypełniane tylko w przypadku plików, których zawartość jest przechowywana na Dysku. |
Pole zbiorcze Pole |
|
contentSnippet |
Wygenerowany fragment kodu dotyczący zawartości pliku. |
Pole zbiorcze Pole |
|
viewUrl |
URL umożliwiający wyświetlenie pliku. |
Pole zbiorcze Pole |
|
sharedWithMeTime |
godzinę udostępnienia pliku osobie, która o to poprosiła; Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
Pole zbiorcze Pole |
|
createdTime |
Czas utworzenia pliku. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
Pole zbiorcze Pole |
|
modifiedTime |
Ostatni czas modyfikacji pliku. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
Pole zbiorcze Pole |
|
viewedByMeTime |
Najnowszy czas, w którym plik został wyświetlony przez osobę przeglądającą. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
Pole zbiorcze Pole |
|
owner |
Adres e-mail właściciela pliku. |
Sygnatura czasowa
| Zapis JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Pola | |
|---|---|
seconds |
Reprezentuje sekundy czasu UTC od epoki uniksowej 1970-01-01T00:00:00Z. Musi mieścić się w przedziale od -62135596800 do 253402300799 (włącznie), co odpowiada zakresowi od 0001-01-01T00:00:00Z do 9999-12-31T23:59:59Z. |
nanos |
Nieujemne ułamki sekundy w rozdzielczości nanosekundowej. To pole zawiera część czasu trwania w nanosekundach, a nie alternatywę dla sekund. Ujemne wartości sekund z ułamkami muszą mieć nieujemne wartości nanosekund, które liczą czas do przodu. Musi mieścić się w zakresie od 0 do 999 999 999 włącznie. |
Adnotacje narzędzi
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ✅