Google: Creates a file For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) This method supports an * upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `* *` (Specify a valid MIME type, rather than the literal `* *` value The literal `* *` is only used to indicate that any valid MIME type can be uploaded For more information, see Google Workspace and Google Drive supported MIME types (https: developers google com workspace drive api guides mime-types) ) For more information on uploading files, see Upload file data (https: developers google com workspace drive api guides manage-uploads) Apps creating shortcuts with the `create` method must specify the MIME type `application vnd google-apps shortcut` Apps should specify a file extension in the `name` property when inserting files with the API For example, an operation to insert a JPEG file should specify something like `"name": "cat jpg"` in the metadata Subsequent `GET` requests include the read-only `file Extension` property populated with the extension originally specified in the `name` property When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the name In cases where the extension is missing, Drive attempts to determine the extension based on the file's MIME type
Google driveFiles.driveFilesCreate: arguments, response, policy and SDK examples.
← Drive files operations · Get started
Operation google.drive_files_create
Provider route: POST /drive/v3/files. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/google with npm, or alter-sdk-google with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { GoogleIntegration } from "@alter-ai/google";
async function execute(input: Parameters<GoogleIntegration["driveFiles"]["driveFilesCreate"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new GoogleIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.driveFiles.driveFilesCreate(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_google import GoogleIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = GoogleIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.drive_files.drive_files_create(arguments) result = await call.wait() return result.body_json()Referenced models: Creates a copy of a file and applies any requested updates with patch semantics For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) — request body — body, Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). This method supports an /upload URI and accepts uploaded media with the following characteristics: - Maximum file size: 5,120 GB - Accepted Media MIME types: `* ` (Specify a valid MIME type, rather than the literal ` ` value The literal ` *` is only used to indicate that any valid MIME type can be uploaded For more information, see Google Workspace and Google Drive supported MIME types (https: developers google com workspace drive api guides mime-types) ) For more information on uploading files, see Upload file data (https: developers google com workspace drive api guides manage-uploads) Apps creating shortcuts with the `create` method must specify the MIME type `application vnd google-apps shortcut` Apps should specify a file extension in the `name` property when inserting files with the API For example, an operation to insert a JPEG file should specify something like `“name”: “cat jpg”` in the metadata Subsequent `GET` requests include the read-only `file Extension` property populated with the extension originally specified in the `name` property When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the name In cases where the extension is missing, Drive attempts to determine the extension based on the file’s MIME type — request body — query
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
Schemas
Section titled “Schemas”12 more schemas are linked from the tables above, on the schema pages.
Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). This method supports an */upload* URI and accepts uploaded media with the following characteristics: - *Maximum file size:* 5,120 GB - *Accepted Media MIME types:* `* *` (Specify a valid MIME type, rather than the literal `* *` value The literal `* *` is only used to indicate that any valid MIME type can be uploaded For more information, see Google Workspace and Google Drive supported MIME types (https: developers google com workspace drive api guides mime-types) ) For more information on uploading files, see Upload file data (https: developers google com workspace drive api guides manage-uploads) Apps creating shortcuts with the `create` method must specify the MIME type `application vnd google-apps shortcut` Apps should specify a file extension in the `name` property when inserting files with the API For example, an operation to insert a JPEG file should specify something like `"name": "cat jpg"` in the metadata Subsequent `GET` requests include the read-only `file Extension` property populated with the extension originally specified in the `name` property When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the name In cases where the extension is missing, Drive attempts to determine the extension based on the file's MIME type — request body — query
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
fields | string | Optional | Selector specifying which fields to include in a partial response. |
prettyPrint | boolean | Optional | Returns response with indentations and line breaks. Default: true |
quotaUser | string | Optional | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
enforceSingleParent | boolean | Optional | Deprecated: Creating files in multiple folders is no longer supported. Default: false |
ignoreDefaultVisibility | boolean | Optional | Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. Default: false |
includeLabels | string | Optional | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
includePermissionsForView | string | Optional | Specifies which additional view's permissions to include in the response. Only `published` is supported. |
keepRevisionForever | boolean | Optional | Whether to set the `keepForever` field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. Default: false |
ocrLanguage | string | Optional | A language hint for OCR processing during image import (ISO 639-1 code). |
supportsAllDrives | boolean | Optional | Whether the requesting application supports both My Drives and shared drives. Default: false |
supportsTeamDrives | boolean | Optional | Deprecated: Use `supportsAllDrives` instead. Default: false |
useContentAsIndexableText | boolean | Optional | Whether to use the uploaded content as indexable text. Default: false |
Creates a copy of a file and applies any requested updates with patch semantics For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) — response body — client Encryption Details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details about the client-side encryption applied to the file. |
decryptionMetadata | Model | Optional | Expand Creates a copy of a file and applies any requested updates with patch semantics For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) — response body — client Encryption Details decryption Metadata The metadata used for client-side operations. |
encryptionState | string | Optional | The encryption state of the file. The values expected here are: - encrypted - unencrypted |
Creates a copy of a file and applies any requested updates with patch semantics For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) — response body — content Restrictions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A restriction for accessing the content of the file. |
ownerRestricted | boolean | Optional | Whether the content restriction can only be modified or removed by a user who owns the file. For files in shared drives, any user with `organizer` capabilities can modify or remove this content restriction. |
readOnly | boolean | Optional | Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file may not be modified. |
reason | string | Optional | Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`. |
restrictingUser | Model | Optional | Expand Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set To return the exact fields you need, see Return specific fields (https: developers google com workspace drive api guides fields-parameter) — response body — user Output only. The user who set the content restriction. Only populated if `readOnly=true`. |
restrictionTime | string | Optional | The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true. Format: date-time |
systemRestricted | boolean | Optional | Output only. Whether the content restriction was applied by the system, for example due to an esignature. Users cannot modify or remove system restricted content restrictions. |
type | string | Optional | Output only. The type of the content restriction. Currently the only possible value is `globalContentRestriction`. |
Creates a copy of a file and applies any requested updates with patch semantics For more information, see Create and manage files (https: developers google com workspace drive api guides create-file) — response body — download Restrictions
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Download restrictions applied to the file. |
effectiveDownloadRestrictionWithContext | Model | Optional | Expand Deprecated: Use `drives get` instead — response body — restrictions download Restriction Output only. The effective download restriction applied to this file. This considers all restriction settings and DLP rules. |
itemDownloadRestriction | Model | Optional | Expand Deprecated: Use `drives get` instead — response body — restrictions download Restriction The download restriction of the file applied directly by the owner or organizer. This doesn't take into account shared drive settings or DLP rules. |
Referenced models: Deprecated: Use `drives get` instead — response body — restrictions download Restriction
Lists the labels on a file For more information, see List labels on a file (https: developers google com workspace drive api guides list-labels) — response body — labels item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Representation of label and label fields. |
fields | object | Optional | A map of the fields on the label, keyed by the field's ID. Additional keys: see wildcard field |
fields.* | Model | Additional keys | Expand Lists the labels on a file For more information, see List labels on a file (https: developers google com workspace drive api guides list-labels) — response body — labels item fields value |
id | string | Optional | The ID of the label. |
kind | string | Optional | This is always drive#label |
revisionId | string | Optional | The revision ID of the label. |
Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set To return the exact fields you need, see Return specific fields (https: developers google com workspace drive api guides fields-parameter) — response body — user
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Information about a Drive user. |
displayName | string | Optional | Output only. A plain text displayable name for this user. Read only: true |
emailAddress | string | Optional | Output only. The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester. Read only: true |
kind | string | Optional | Output only. Identifies what kind of resource this is. Value: the fixed string `drive#user`. Default: drive#user Read only: true |
me | boolean | Optional | Output only. Whether this user is the requesting user. Read only: true |
permissionId | string | Optional | Output only. The user's ID as visible in Permission resources. Read only: true |
photoLink | string | Optional | Output only. A link to the user's profile photo, if available. Read only: true |
Deprecated: Use `drives get` instead — response body — restrictions download Restriction
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A restriction for copy and download of the file. |
restrictedForReaders | boolean | Optional | Whether download and copy is restricted for readers. |
restrictedForWriters | boolean | Optional | Whether download and copy is restricted for writers. If true, download is also restricted for readers. |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: google.drive_files_create. Catalog operation: drive.files.create. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.appdata", "https://www.googleapis.com/auth/drive.file"]