Guia de comparação da API Drive v2 e v3
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A versão mais recente da API Google Drive é a v3. O desempenho na v3 é melhor porque
as pesquisas retornam apenas um subconjunto de campos. Use a versão atual, a menos que você precise da coleção v2. Se você estiver usando a v2, considere
migrar para a v3. Para migrar, consulte Migrar para a API Drive v3. Para uma lista completa das diferenças entre as versões, consulte a referência de comparação das APIs Drive v2 e v3.
Se quiser continuar usando a v2, consulte a Emenda do guia da API Drive v2 para saber como algumas instruções nos guias da v3 precisam ser alteradas para desenvolvedores da v2.
Para saber mais sobre as melhorias da API Drive v3, assista o vídeo a seguir, em que engenheiros do Google discutem o novo design da API.
Melhorias na V3
Para otimizar a performance e reduzir a complexidade do comportamento da API, a v3 oferece estas
melhorias em relação à versão anterior da API:
- As pesquisas de arquivos e drives compartilhados não retornam recursos completos por padrão, apenas um subconjunto de campos usados com frequência. Para mais detalhes sobre
fields
, consulte os métodos files.list
e drives.list
.
- Quase todos os métodos que retornam uma resposta agora exigem o parâmetro
fields
. Para uma lista de todos os métodos que exigem fields
, consulte a
referência da API Drive.
- Os recursos com recursos duplicados foram removidos. Alguns exemplos:
- O método
files.list
realiza a mesma funcionalidade que as
coleções Children
e Parents
. Por isso, elas foram removidas da v3.
- Os métodos
Realtime.*
foram removidos.
- Os dados de apps não são retornados por padrão nas pesquisas. Na v2, é possível definir o escopo
drive.appdata
, que retorna dados do aplicativo do método files.list
e do método changes.list
, mas isso reduz a performance. Na v3, você define o escopo drive.appdata
e também o parâmetro de consulta spaces=appDataFolder
para solicitar
dados do aplicativo.
- Todas as operações de atualização usam PATCH em vez de PUT.
- Para exportar documentos do Google, use o método
files.export
.
- O comportamento do método
changes.list
é diferente. Em vez de IDs de mudança, use
tokens de página opacos. Para fazer uma pesquisa na coleção de mudanças, primeiro chame o método
changes.getStartPageToken
para o valor inicial. Para consultas subsequentes, o método changes.list
retorna o valor newStartPageToken
.
- Os métodos de atualização agora rejeitam solicitações que especificam campos não graváveis.
- Os campos
exportFormats
e importFormats
da v2 no recurso
about
são listas de
formatos de importação ou exportação permitidos. Na v3, eles são mapas de tipo MIME de possíveis destinos para todas as importações ou exportações compatíveis.
- Os aliases
appdata
e appfolder
da v2 agora são appDataFolder
na v3.
- O recurso
properties
foi removido da v3. O recurso files
tem o campo properties
, que contém pares de chave-valor verdadeiros. O campo properties
contém propriedades públicas, e o campo appProperties
contém propriedades privadas. Portanto, o campo de visibilidade não é necessário.
- O campo
modifiedTime
no recurso files
atualiza a última vez que
alguém modificou o arquivo. Na v2, o campo modifiedDate
só era mutável
na atualização se você definisse o campo setModifiedDate
.
- O campo
viewedByMeTime
no recurso files
não é atualizado automaticamente.
- Para importar formatos do Google Docs, defina o
mimeType
de destino apropriado
no corpo do recurso. Na v2, você define ?convert=true
.
- As operações de importação retornam um erro 400 se o formato não for compatível.
- Os leitores e comentaristas não podem ver as permissões.
- O alias
me
para permissões é removido.
- Algumas funcionalidades estavam disponíveis como parte do recurso de solicitação, mas agora estão disponíveis como um parâmetro de solicitação. Exemplo:
- Na v2, é possível usar
children.delete
para remover um arquivo filho de uma pasta principal.
- Na v3, você usa
files.update
na criança com
?removeParents=parent_id
no URL.
Outras diferenças
Os nomes dos campos e parâmetros são diferentes na v3. Veja alguns exemplos:
- A propriedade
name
substitui title
no recurso files
.
Time
é o sufixo de todos os campos de data e hora em vez de Date
.
- As operações de lista não usam o campo
items
para conter o conjunto de resultados. O tipo de recurso fornece um campo para os resultados, como files
ou changes
.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-29 UTC.
[null,null,["Última atualização 2025-08-29 UTC."],[],[],null,["# Drive API v2 and v3 comparison guide\n\nThe latest Google Drive API version is v3. The performance in v3 is better because\nsearches only return a subset of fields. Use the current version unless you need\nthe [v2](/workspace/drive/api/v2/reference) collection. If you're using v2, consider\nmigrating to v3. To migrate, see [Migrate to Drive API v3](/workspace/drive/api/guides/migrate-to-v3). For a complete list of version differences, see\nthe [Drive API v2 and v3 comparison\nreference](/workspace/drive/api/guides/v2-to-v3-reference).\n\nIf you want to continue to use v2, see the [Guide to Drive API v2](/workspace/drive/api/guides/v2-guide) amendment to learn how some instructions in the v3\nguides must be amended for v2 developers.\n\nTo learn more about Drive API v3 improvements, you can watch the\nfollowing video by Google engineers discussing the new API design. \n\nV3 improvements\n---------------\n\nTo optimize performance and reduce API behavior complexity, v3 provides these\nimprovements over the previous API version:\n\n- Searches for files and shared drives don't return full resources by default, only a subset of commonly used fields gets returned. For more details on `fields`, see the [`files.list`](/workspace/drive/api/v3/reference/files/list) method and the [`drives.list`](/workspace/drive/api/v3/reference/drives/list) method.\n- Almost all methods that return a response now require the `fields` parameter. For a list of all methods requiring `fields`, see the [Drive API reference](/workspace/drive/api/v3/reference).\n- Resources that have duplicate capabilities were removed. Some examples:\n - The `files.list` method accomplishes the same functionality as the `Children` and `Parents` collections, so they're removed from v3.\n - The `Realtime.*` methods have been removed.\n- App Data isn't returned by default in searches. In v2, you can set the `drive.appdata` scope, and it returns application data from the `files.list` method and the [`changes.list`](/workspace/drive/api/v2/reference/changes/list) method, but it slows performance. In v3, you set the `drive.appdata` scope, and also set the query parameter `spaces=appDataFolder` to request application data.\n- All update operations use PATCH instead of PUT.\n- To export Google Documents, use the [`files.export`](/workspace/drive/api/v2/reference/files/export) method.\n- The `changes.list` method behavior is different. Instead of change IDs, use opaque page tokens. To poll the change collection, first call the [`changes.getStartPageToken`](/workspace/drive/api/v2/reference/changes/getStartPageToken) method for the initial value. For subsequent queries, the `changes.list` method returns the `newStartPageToken` value.\n- Update methods now reject requests that specify non-writable fields.\n- The v2 `exportFormats` and `importFormats` fields in the [`about`](/workspace/drive/api/reference/rest/v3/about) resource are lists of allowable import or export formats. In v3, they're MIME type maps of possible targets to all supported imports or exports.\n- The v2 `appdata` and `appfolder` aliases are now `appDataFolder` in v3.\n- The `properties` resource is removed from v3. The [`files`](/workspace/drive/api/v3/reference/files) resource has the `properties` field that contains true key-value pairs. The `properties` field contains public properties, and the `appProperties` field contains private properties, so the visibility field isn't needed.\n- The `modifiedTime` field in the `files` resource updates the last time anyone modified the file. In v2, the `modifiedDate` field was only mutable on update if you set the `setModifiedDate` field.\n- The `viewedByMeTime` field in the `files` resource doesn't automatically update.\n- To import Google Docs formats, you set the appropriate target `mimeType` in the resource body. In v2, you set `?convert=true`.\n- Import operations return a 400 error if the format isn't supported.\n- Readers and commenters can't view permissions.\n- The `me` alias for permissions is removed.\n- Some functionality was available as part of the request resource but is instead available as a request parameter. For example:\n - In v2, you can use `children.delete` to remove a child file from a parent folder.\n - In v3, you use`files.update` on the child with `?removeParents=parent_id` in the URL.\n\nOther differences\n-----------------\n\nFields and parameter names are different in v3. Some examples include:\n\n- The `name` property replaces `title` in the `files` resource.\n- `Time` is the suffix for all date and time fields instead of `Date`.\n- List operations don't use the `items` field to contain the result set. The resource type provides a field for the results (such as `files` or `changes`)."]]