google_api_drive v0.1.0 GoogleApi.Drive.V3.Api.Files View Source

API calls for all endpoints tagged Files.

Link to this section Summary

Functions

Creates a copy of a file and applies any requested updates with patch semantics

Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a Team Drive the user must be an organizer on the parent. If the target is a folder, all descendants owned by the user are also deleted

Permanently deletes all of the user's trashed files

Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB

Generates a set of file IDs which can be provided in create requests

Gets a file's metadata or content by ID

Updates a file's metadata and/or content with patch semantics

Updates a file's metadata and/or content with patch semantics

Updates a file's metadata and/or content with patch semantics

Subscribes to changes to a file

Link to this section Functions

Link to this function drive_files_copy(connection, file_id, opts \\ []) View Source
drive_files_copy(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Creates a copy of a file and applies any requested updates with patch semantics.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :ignoreDefaultVisibility (boolean()): 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.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :body (File):

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_create(connection, opts \\ []) View Source
drive_files_create(Tesla.Env.client(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Creates a new file.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :ignoreDefaultVisibility (boolean()): 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.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.
    • :body (File):

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_create_resumable(connection, upload_type, opts \\ []) View Source
drive_files_create_resumable(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Creates a new file.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • upload_type (String.t): Upload type. Must be "resumable".
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :ignoreDefaultVisibility (boolean()): 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.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.
    • :body (File):

Returns

{:ok, %{}} on success {:error, info} on failure

Link to this function drive_files_create_simple(connection, upload_type, metadata, data, opts \\ []) View Source
drive_files_create_simple(
  Tesla.Env.client(),
  String.t(),
  GoogleApi.Drive.V3.Model.File.t(),
  String.t(),
  keyword()
) :: {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Creates a new file.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • upload_type (String.t): Upload type. Must be "multipart".
  • metadata (File): File metadata.
  • data (String.t): The file to upload.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :ignoreDefaultVisibility (boolean()): 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.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_delete(connection, file_id, opts \\ []) View Source
drive_files_delete(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a Team Drive the user must be an organizer on the parent. If the target is a folder, all descendants owned by the user are also deleted.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.

Returns

{:ok, %{}} on success {:error, info} on failure

Link to this function drive_files_empty_trash(connection, opts \\ []) View Source
drive_files_empty_trash(Tesla.Env.client(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Permanently deletes all of the user's trashed files.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.

Returns

{:ok, %{}} on success {:error, info} on failure

Link to this function drive_files_export(connection, file_id, mime_type, opts \\ []) View Source
drive_files_export(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • mime_type (String.t): The MIME type of the format requested for this export.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.

Returns

{:ok, %{}} on success {:error, info} on failure

Link to this function drive_files_generate_ids(connection, opts \\ []) View Source
drive_files_generate_ids(Tesla.Env.client(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.GeneratedIds.t()} | {:error, Tesla.Env.t()}

Generates a set of file IDs which can be provided in create requests.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :count (integer()): The number of IDs to return.
    • :space (String.t): The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.

Returns

{:ok, %GoogleApi.Drive.V3.Model.GeneratedIds{}} on success {:error, info} on failure

Link to this function drive_files_get(connection, file_id, opts \\ []) View Source
drive_files_get(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Gets a file's metadata or content by ID.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :acknowledgeAbuse (boolean()): Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_list(connection, opts \\ []) View Source
drive_files_list(Tesla.Env.client(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.FileList.t()} | {:error, Tesla.Env.t()}

Lists or searches files.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :corpora (String.t): Comma-separated list of bodies of items (files/documents) to which the query applies. Supported bodies are 'user', 'domain', 'teamDrive' and 'allTeamDrives'. 'allTeamDrives' must be combined with 'user'; all other values must be used in isolation. Prefer 'user' or 'teamDrive' to 'allTeamDrives' for efficiency.
    • :corpus (String.t): The source of files to list. Deprecated: use 'corpora' instead.
    • :includeTeamDriveItems (boolean()): Whether Team Drive items should be included in results.
    • :orderBy (String.t): A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and 'viewedByMeTime'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime desc,name. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.
    • :pageSize (integer()): The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached.
    • :pageToken (String.t): The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response.
    • :q (String.t): A query for filtering the file results. See the "Search for Files" guide for supported syntax.
    • :spaces (String.t): A comma-separated list of spaces to query within the corpus. Supported values are 'drive', 'appDataFolder' and 'photos'.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :teamDriveId (String.t): ID of Team Drive to search.

Returns

{:ok, %GoogleApi.Drive.V3.Model.FileList{}} on success {:error, info} on failure

Link to this function drive_files_update(connection, file_id, opts \\ []) View Source
drive_files_update(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Updates a file's metadata and/or content with patch semantics.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :addParents (String.t): A comma-separated list of parent IDs to add.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :removeParents (String.t): A comma-separated list of parent IDs to remove.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.
    • :body (File):

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_update_resumable(connection, file_id, upload_type, opts \\ []) View Source
drive_files_update_resumable(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  keyword()
) :: {:ok, nil} | {:error, Tesla.Env.t()}

Updates a file's metadata and/or content with patch semantics.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • upload_type (String.t): Upload type. Must be "resumable".
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :addParents (String.t): A comma-separated list of parent IDs to add.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :removeParents (String.t): A comma-separated list of parent IDs to remove.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.
    • :body (File):

Returns

{:ok, %{}} on success {:error, info} on failure

Link to this function drive_files_update_simple(connection, file_id, upload_type, metadata, data, opts \\ []) View Source
drive_files_update_simple(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  GoogleApi.Drive.V3.Model.File.t(),
  String.t(),
  keyword()
) :: {:ok, GoogleApi.Drive.V3.Model.File.t()} | {:error, Tesla.Env.t()}

Updates a file's metadata and/or content with patch semantics.

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • upload_type (String.t): Upload type. Must be "multipart".
  • metadata (File): File metadata.
  • data (String.t): The file to upload.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :addParents (String.t): A comma-separated list of parent IDs to add.
    • :keepRevisionForever (boolean()): Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Drive.
    • :ocrLanguage (String.t): A language hint for OCR processing during image import (ISO 639-1 code).
    • :removeParents (String.t): A comma-separated list of parent IDs to remove.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :useContentAsIndexableText (boolean()): Whether to use the uploaded content as indexable text.

Returns

{:ok, %GoogleApi.Drive.V3.Model.File{}} on success {:error, info} on failure

Link to this function drive_files_watch(connection, file_id, opts \\ []) View Source
drive_files_watch(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, GoogleApi.Drive.V3.Model.Channel.t()} | {:error, Tesla.Env.t()}

Subscribes to changes to a file

Parameters

  • connection (GoogleApi.Drive.V3.Connection): Connection to server
  • file_id (String.t): The ID of the file.
  • opts (KeywordList): [optional] Optional parameters

    • :alt (String.t): Data format for the response.
    • :fields (String.t): Selector specifying which fields to include in a partial response.
    • :key (String.t): API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
    • :oauth_token (String.t): OAuth 2.0 token for the current user.
    • :prettyPrint (boolean()): Returns response with indentations and line breaks.
    • :quotaUser (String.t): An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
    • :userIp (String.t): Deprecated. Please use quotaUser instead.
    • :acknowledgeAbuse (boolean()): Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media.
    • :supportsTeamDrives (boolean()): Whether the requesting application supports Team Drives.
    • :resource (Channel):

Returns

{:ok, %GoogleApi.Drive.V3.Model.Channel{}} on success {:error, info} on failure