web-dev-qa-db-fra.com

Accéder à l'API Google Photo avec Python à l'aide de google-api-python-client

Selon Bibliothèques clientes de Google API page, il est possible d'accéder à l'API Google Photos à l'aide de la bibliothèque cliente Python, mais après l'avoir installée à l'aide de pip install -t lib/ google-api-python-client, rien ne se rapporte à l'API Photos.

Comment utiliser la bibliothèque client construite par Google au lieu d'appeler manuellement les API REST?

3
Ido Ran

Je n'ai trouvé aucun exemple, j'ai donc pris l'exemple de Drive API v3 et je l'ai adapté à l'API Photos v1.

Vous pouvez voir et utiliser l'exemple .

Le Gist est:

from apiclient.discovery import build

service = build('photoslibrary', 'v1', http=creds.authorize(Http()))
results = service.albums().list(
    pageSize=10, fields="nextPageToken,albums(id,title)").execute()
4
Ido Ran

L'API est un peu moins capable que celle indiquée dans l'exemple ci-dessus, elle ne supporte pas les "champs". Mais, il fonctionne:

from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
SCOPES = 'https://www.googleapis.com/auth/photoslibrary.readonly'

store = file.Storage('token-for-google.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
    creds = tools.run_flow(flow, store)
gdriveservice = build('photoslibrary', 'v1', http=creds.authorize(Http()))

results = gdriveservice.albums().list(
    pageSize=10).execute()
items = results.get('albums', [])
for item in items:
        print(u'{0} ({1})'.format(item['title'].encode('utf8'), item['id']))
3
brillb

Consultez la documentation de l'API ici .

Et plus spécifiquement ici . Semble être assez limité cependant.

0
ArdentLearner