webentwicklung-frage-antwort-db.com.de

Zugriff auf die Google Foto-API mit Python über den Google-API-Python-Client

Laut Google API-Clientbibliotheken ist es möglich, mit der Python-Clientbibliothek auf die Google Photos-API zuzugreifen. Nach der Installation mit pip install -t lib/ google-api-python-client sehe ich jedoch nichts in Bezug auf die Photos-API.

Wie kann ich die von Google erstellte Client-Bibliothek verwenden, anstatt die REST-APIs manuell aufzurufen?

3
Ido Ran

Ich habe kein Beispiel gefunden, also habe ich das Beispiel für Drive API v3 verwendet und an Photos v1 API angepasst.

Sie können das Beispiel sehen und verwenden .

Der Kern ist:

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

Die API ist etwas weniger fähig als im obigen Beispiel angegeben, "Felder" werden nicht unterstützt. Aber es funktioniert:

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

Lesen Sie die Dokumentation der API hier .

Und genauer hier . Scheint aber ziemlich begrenzt zu sein.

0
ArdentLearner