Outil : create_file
Appelez cet outil pour créer ou importer un fichier dans Google Drive.
Si vous importez du contenu, préférez "text_content" pour le contenu textuel. Pour les contenus non UTF-8, utilisez le champ "base64_content" et encodez les données en base64 pour les définir dans ce champ.
Renvoie un seul objet File une fois la création réussie.
Les types MIME propriétaires Google suivants peuvent être créés sans fournir de contenu :
application/vnd.google-apps.documentapplication/vnd.google-apps.spreadsheetapplication/vnd.google-apps.presentation
Par défaut, les conversions suivantes seront effectuées pour les types MIME suivants :
text/plainversapplication/vnd.google-apps.documenttext/csvversapplication/vnd.google-apps.spreadsheet
Pour désactiver les conversions pour les types MIME propriétaires, définissez disable_conversion_to_google_type sur "true".
Vous pouvez créer des dossiers en définissant le type MIME sur application/vnd.google-apps.folder.
Lorsque vous importez du contenu, le champ content_mime_type est obligatoire et doit correspondre au type de contenu importé.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP create_file.
| Requête Curl |
|---|
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \ --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 }' |
Schéma d'entrée
Requête d'importation d'un fichier.
CreateFileRequest
| Représentation JSON |
|---|
{ "title": string, "mimeType": string, "contentMimeType": string, "content": string, "base64Content": string, "textContent": string, "parentId": string, "disableConversionToGoogleType": boolean } |
| Champs | |
|---|---|
title |
Titre du fichier. |
mimeType |
OBSOLÈTE. NE PAS UTILISER !! Définissez plutôt content_mime_type. |
contentMimeType |
Type MIME du contenu importé. Obligatoire lorsqu'un type de contenu est fourni. |
content |
Contenu du fichier encodé en base64. Le champ "content" doit toujours être encodé en base64, quel que soit le type MIME du fichier. OBSOLÈTE. Utilisez plutôt base64_content ou text_content. |
base64Content |
Facultatif. Contenu encodé en base64 à importer. Il est impossible de définir à la fois ce champ et text_content. |
textContent |
Facultatif. Contenu textuel (UTF-8) à importer. Il est impossible de définir à la fois ce champ et base64_content. |
parentId |
ID parent du fichier. |
disableConversionToGoogleType |
Définissez la valeur sur "true" pour conserver le type MIME du contenu transmis et ne pas le convertir en type Google. Par exemple, sans cela, un type MIME de contenu text/plain sera converti en application/vnd.google-apps.document. N'a aucun effet sur les types qui n'ont pas d'équivalent Google. |
Schéma de sortie
Une ressource de fichier.
Fichier
| Représentation 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 } |
| Champs | |
|---|---|
id |
ID du fichier récupéré. |
title |
Titre du fichier. |
parentId |
ID (facultatif) du parent du fichier. |
Champ d'union
|
|
mimeType |
Type MIME du fichier. |
Champ d'union
|
|
fileSize |
Taille du fichier, en octets. |
Champ d'union
|
|
description |
Description du fichier. |
Champ d'union
|
|
fileExtension |
Extension de fichier d'origine. Ce champ n'est renseigné que pour les fichiers dont le contenu est stocké dans Drive. |
Champ d'union
|
|
contentSnippet |
Extrait généré concernant le contenu du fichier. |
Champ d'union
|
|
viewUrl |
URL permettant d'afficher le fichier. |
Champ d'union
|
|
sharedWithMeTime |
Heure à laquelle le fichier a été partagé avec le demandeur. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Champ d'union
|
|
createdTime |
Heure de création du fichier. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Champ d'union
|
|
modifiedTime |
Heure la plus récente à laquelle le fichier a été modifié. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Champ d'union
|
|
viewedByMeTime |
Heure la plus récente à laquelle le fichier a été consulté par le demandeur. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
Champ d'union
|
|
owner |
Adresse e-mail du propriétaire du fichier. |
Champ d'union
|
|
canAddChildren |
Indique si le demandeur peut ajouter des enfants à ce dossier. Cette valeur est toujours "false" pour les types autres que les dossiers. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. Doit être compris entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z à 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. Doit être compris entre 0 et 999 999 999 inclus. |
Annotations d'outil
Indication destructive : ❌ | Indication idempotente : ❌ | Indication en lecture seule : ❌ | Indication Open World : ✅