Skip to content

Google: Downloads the content of a file For more information, see Download and export files (https: developers google com workspace drive api guides manage-downloads) Operations are valid for 24 hours from the time of creation

Google driveFiles.driveFilesDownload: arguments, response, policy and SDK examples.

← Drive files operations · Get started

Operation google.drive_files_download

Provider route: POST /drive/v3/files/{fileId}/download. Alter supplies the connection’s credentials and routing.

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"]["driveFilesDownload"]>[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.driveFilesDownload(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from 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_download(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.fileIdstringRequired within parentRequired. The ID of the file to download.
queryobjectOptionalAdditional keys: not allowed
query.fieldsstringOptionalSelector specifying which fields to include in a partial response.
query.prettyPrintbooleanOptionalReturns response with indentations and line breaks.
Default: true
query.quotaUserstringOptionalAvailable to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
query.mimeTypestringOptionalOptional. The MIME type the file should be downloaded as. This field can only be set when downloading Google Workspace documents. For a list of supported MIME types, see [Export MIME types for Google Workspace documents](/workspace/drive/api/guides/ref-export-formats). If not set, a Google Workspace document is downloaded with a default MIME type. The default MIME type might change in the future.
query.revisionIdstringOptionalOptional. The revision ID of the file to download. This field can only be set when downloading blob files, Google Docs, and Google Sheets. Returns `INVALID_ARGUMENT` if downloading a specific revision on the file is unsupported.

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body

Referenced models: Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body

Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body
FieldTypePresenceDescription and constraints
$objectRootThis resource represents a long-running operation that is the result of a network API call.
donebooleanOptionalIf the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
errorModelOptionalExpand Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body — error
The error result of the operation in case of failure or cancellation.
metadataobjectOptionalService-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
Additional keys: see wildcard field
metadata.*JSONAdditional keysProperties of the object. Contains field @type with type URL.
namestringOptionalThe server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
responseobjectOptionalThe normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
Additional keys: see wildcard field
response.*JSONAdditional keysProperties of the object. Contains field @type with type URL.

Referenced models: Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body — error

Gets the latest state of a long-running operation Clients can use this method to poll the operation result at intervals as recommended by the API service — response body — error
FieldTypePresenceDescription and constraints
$objectRootThe `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
codeJSONOptional
code (anyOf 1)integerAlternativeThe status code, which should be an enum value of google.rpc.Code.
Format: int32
code (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
detailsarrayOptionalA list of messages that carry the error details. There is a common set of message types for APIs to use.
details[]objectEach itemAdditional keys: see wildcard field
details[].*JSONAdditional keysProperties of the object. Contains field @type with type URL.
messagestringOptionalA developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

SDK function policy ID: google.drive_files_download. Catalog operation: drive.files.download. 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.file", "https://www.googleapis.com/auth/drive.readonly"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.