83 lines
3.2 KiB
Markdown
83 lines
3.2 KiB
Markdown
# 2.0.0 Migration Guide
|
|
|
|
The 2.0 release of `google-api-python-client` includes a substantial reliability
|
|
improvement, compared with 1.x, as discovery documents are now cached in the library
|
|
rather than fetched dynamically. It is highly recommended to upgrade from v1.x to v2.x.
|
|
|
|
Only python 3.6 and newer is supported. If you are not able to upgrade python, then
|
|
please continue to use version 1.x as we will continue supporting python 2.7+ in
|
|
[v1](https://github.com/googleapis/google-api-python-client/tree/v1).
|
|
|
|
Discovery documents will no longer be retrieved dynamically when
|
|
you call `discovery.build()`. The discovery documents will instead be retrieved
|
|
from the client library directly. New versions of this library are released weekly.
|
|
As a result of caching the discovery documents, the size of this package is at least
|
|
50 MB larger compared to the previous version.
|
|
|
|
|
|
For users of public APIs
|
|
------------------------
|
|
Existing code written for earlier versions of this library will not require
|
|
updating.
|
|
|
|
For users of private APIs
|
|
-------------------------
|
|
If the discovery document requires an authentication key to access it then the
|
|
discovery document is private and it will not be shipped with the library.
|
|
Only discovery documents listed in [this public directory](https://www.googleapis.com/discovery/v1/apis/)
|
|
are included in the library. Users of private APIs should set the
|
|
`static_discovery` argument of `discovery.build()` to `False` to continue to
|
|
retrieve the service definition from the internet. As of version 2.1.0,
|
|
for backwards compatibility with version 1.x, if `static_discovery` is not
|
|
specified, the default value for `static_discovery` will be `True` when
|
|
the `discoveryServiceUrl` argument of `discovery.build()` is provided.
|
|
|
|
If you experience issues or have questions, please file an [issue](https://github.com/googleapis/google-api-python-client/issues).
|
|
|
|
## Supported Python Versions
|
|
|
|
> **WARNING**: Breaking change
|
|
|
|
The 2.0.0 release requires Python 3.6+, as such you must upgrade to Python 3.6+
|
|
to use version 2.0.0.
|
|
|
|
## Method Calls
|
|
|
|
**Note**: Existing code written for earlier versions of this library will not
|
|
require updating. You should only update your code if you are using an API
|
|
which does not have a public discovery document.
|
|
|
|
> **WARNING**: Breaking change
|
|
|
|
The 2.0 release no longer retrieves discovery documents dynamically on each
|
|
call to `discovery.build()`. Instead, discovery documents are retrieved from
|
|
the client library itself.
|
|
|
|
Under the hood, the `discovery.build()` function retrieves a discovery artifact
|
|
in order to construct the service object. The breaking change is that the
|
|
`discovery.build()` function will no longer retrieve discovery artifacts
|
|
dynamically. Instead it will use service definitions shipped in the library.
|
|
|
|
|
|
**Before:**
|
|
```py
|
|
from googleapiclient.discovery import build
|
|
|
|
# Retrieve discovery artifacts from the internet
|
|
with build('drive', 'v3') as service:
|
|
# ...
|
|
```
|
|
|
|
**After:**
|
|
```py
|
|
from googleapiclient.discovery import build
|
|
|
|
# Retrieve discovery artifacts from the client library
|
|
with build('drive', 'v3') as service:
|
|
# ...
|
|
|
|
# Retrieve discovery artifacts from the internet for a private API
|
|
with build('drive', 'v3', static_discovery=False, developerKey=XXXXX) as service:
|
|
# ...
|
|
```
|