Ich verwende Google Kalender API mit Python. Ich habe ein Dienstkonto erstellt und verwende den privaten Schlüssel, um von meinem Server aus eine Verbindung zur Kalender-API herzustellen.4XX-Fehler von Google Kalender-API Anruflimit erhalten
Alles hat gut funktioniert. Ich
Gestern begann die Störung zu erhalten:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
Wenn ich in der Konsole anmelden meine Grenzen sind:
Tages Quoten zurückgesetzt um Mitternacht Pacific Time (PT).
Abfragen
Anfragen/Tag 114 von 1.000.000
Anfragen/100 Sekunden/user 500
Die Konsole zeigt mir richtig, dass ich 4XX- Fehler am Schlagen und jeder Treffer erhöht den Fehlerzähler, aber ich bin nicht sicher, wie das zu beheben
Hat jemand eine Idee, wo ich anfangen könnte zu suchen?
Unter meinem Code verwende ich
with open(os.path.dirname(os.path.abspath(__file__)) + "/KeyName.p12") as f:
private_key = f.read()
credentials = SignedJwtAssertionCredentials(client_email, private_key,
scope=['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly'])
http = Http()
credentials.authorize(http)
service = build(serviceName='calendar', version='v3', http=http)
today_beginning = datetime.combine(date.today(), time())
today_end = today_beginning + timedelta(1, 0) - timedelta(0, 1)
now = datetime.now().isoformat()
timeMin = today_beginning.isoformat() + 'Z'
timeMax = today_end.isoformat() + 'Z'
# events
events = service.events().list(calendarId=calendar_id, timeMin=timeMin, timeMax=timeMax).execute()
In diesem Stadium verbinden es mit
Erhöhung brechen httperror (bzw., Inhalt, uri = self.uri) googleapiclient.errors.HttpError: https: //www.googleapis.com/calendar/v3/calendars/.../hidden/parts/ .. zurückgegeben "Not Found">
Unten ist ein Bild, das meine Anforderungen in den letzten 30 Tagen zeigt, werden Sie sehen, wo zu 200 fallen und die 4xx beginnen
UPDATE: ich einige Änderungen mit begrenztem Erfolg
ich den Code auf die folgende
geändertscopes = ['https://www.googleapis.com/auth/calendar.readonly']
# p12 keyfile
# keyfile = os.path.dirname(os.path.abspath(__file__)) + "/" + p12_key
# credentials = ServiceAccountCredentials.from_p12_keyfile(client_email, keyfile, 'notasecret', scopes)
# json keyfile
keyfile = os.path.dirname(os.path.abspath(__file__)) + "/" + json_key
credentials = ServiceAccountCredentials.from_json_keyfile_name(keyfile, scopes)
http_auth = credentials.authorize(Http())
service = build(serviceName='calendar', version='v3', http=http_auth)
today_beginning = datetime.combine(date.today(), time())
today_end = today_beginning + timedelta(1, 0) - timedelta(0, 1)
now = datetime.now().isoformat()
timeMin = today_beginning.isoformat() + 'Z'
timeMax = today_end.isoformat() + 'Z'
# events
events = service.events().list(calendarId=calendar_id, timeMin=timeMin, timeMax=timeMax).execute()
Dieser Code die neuesten Änderungen aus der Dokumentation spiegelt
gemacht habenIch habe versucht, mit JSON & ein P12-Zertifikat zu authentifizieren
Der Fehler blieb weiterhin bestehen. Ich erstellte ein weiteres Dienstkonto mit neuen Anmeldeinformationen, json + p12, und der Fehler blieb weiterhin bestehen. Ich habe neue Kalender erstellt, der Fehler bleibt bestehen.
Ich erstellte dann ein Dienstkonto auf einem anderen Google-Konto, das ich habe, erstellte die Kalender neu und erstellte neue An-Meldeinformation für dieses Dienstkonto. Das hat es wieder funktioniert.
Das lässt mich denken, dass etwas mit den Konten passiert?
Das Konto, bei dem der Fehler auftritt, ist eine bezahlte Google Apps für Business-Konto.Ich werde ein Ticket mit diesem Konto anmelden und melden