Nicht autorisierte Interaktion mit der Google Kalender-API v3
Ich bin in der gleichen Situation wiedieser Typ (nur, dass mein Problem mit Python ist): Ich versuche, Daten mit einem Dienstkonto abzurufen (mitdieses Beispiel und nach dem lesendieser Blogeintrag da meine anwendung eine google app ist) bekomme ich aber einen hit mitAnmeldung erforderlich Fehler und ich kann nicht verstehen, warum.
Lassen Sie es mich mit einem ganzen Beispiel darstellen:
In [1]: import httplib2
In [2]: from apiclient.discovery import build
In [3]: from oauth2client.client import SignedJwtAssertionCredentials
In [4]: f = open('abd45679ffg32343-privatekey.p12', 'rb')
In [5]: key = f.read()
In [6]: f.close()
In [7]: credentials = SignedJwtAssertionCredentials(
'[email protected]', key,
scope=['https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/calendar.readonly'])
In [8]: http = httplib2.Http()
In [9]: http = credentials.authorize(http)
In [10]: service = build(serviceName='calendar', version='v3', http=http,
....: developerKey='XcddfRgtyt676grggtT')
2012-05-14 18:24:35,170 INFO [root][MainThread] URL being requested: https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2012-05-14 18:24:35,170 INFO [oauth2client.client][MainThread] Attempting refresh to obtain initial access_token
2012-05-14 18:24:35,179 INFO [oauth2client.client][MainThread] Refresing access_token
In [11]: service.calendarList().list().execute()
2012-05-14 18:25:00,418 INFO [root][MainThread] URL being requested https://www.googleapis.com/calendar/v3/users/me/calendarList?alt=json&key=XcddfRgtyt676grggtT
---------------------------------------------------------------------------
HttpError Traceback (most recent call last)
/home/mariano/Code/Kalendar/rest/kalendar/<ipython-input-12-0cb769615d74> in <module>()
----> 1 service.calendarList().list().execute()
/home/mariano/Code/Kalendar/rest/env/local/lib/python2.7/site-packages/google_api_python_client-1.0beta8-py2.7.egg/apiclient/http.pyc in execute(self, http)
387
388 if resp.status >= 300:
--> 389 raise HttpError(resp, content, self.uri)
390 return self.postproc(resp, content)
391
HttpError: <HttpError 403 when requesting https://www.googleapis.com/calendar/v3/users/me/calendarList?alt=json&key=XcddfRgtyt676grggtT returned "The user must be signed up for Google Calendar.">
Alle Hinweise darüber, warum dies geschieht und wie es zu lösen ist, wären sehr dankbar.