aiohttp wrapper for google-api-client-python
Project description
gaggle
An aiohttp-based Google API client.
The google-api-python-client requirement is because this library uses it to discover services and prepare requests, leveraging the prepare+execute pattern implemented in googleapiclient.HttpRequest.
Usage
JSON
import asyncio
import aiohttp
from gaggle import Client
async def main():
async with aiohttp.ClientSession() as session:
drive = Client(
session=session,
token=access_token,
# the following are optional and only required if the access_token is expired and can be refreshed
refresh_token=refresh_token,
client_id=client_id,
client_secret=client_secret
).drive('v3')
resp = await drive.files.list(q="parents in 'root'")
# resp is an instance of aiohttp.ClientResponse
if resp.status == 200:
data = await resp.json()
files = data.get('files', [])
for obj in files:
print(obj)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Results in something like:
{'kind': 'drive#file', 'id': '...', 'name': 'test.csv', 'mimeType': 'text/csv'}
{'kind': 'drive#file', 'id': '...', 'name': 'Test Folder', 'mimeType': 'application/vnd.google-apps.folder'}
{'kind': 'drive#file', 'id': '...', 'name': 'spreadsheet.xlsx', 'mimeType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}
{'kind': 'drive#file', 'id': '...', 'name': 'spreadsheet', 'mimeType': 'application/vnd.google-apps.spreadsheet'}
Installation
$ pip install gaggle
Testing and developing
I've included a handy Makefile to make these things fairly easy.
$ make setup
$ make test
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gaggle-0.2.2rc2.tar.gz
(4.0 kB
view hashes)
Built Distribution
Close
Hashes for gaggle-0.2.2rc2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c2721f01fade4a7fa5f97798306d4cf0b5d8fa5584ce577f833252cf6452f7d |
|
MD5 | 68ad21950a8149b7461d0fba1949db63 |
|
BLAKE2b-256 | 860fd392821e44760ce142247ae5fc2d446b4149d80fe251cabb03e379ba395f |