Ich habe viele Beiträge zu diesem Thema gesehen, aber keine wurden beantwortet, und die meisten sind wegen ihrer vagen Natur geschlossen. Hoffentlich kann ich etwas etwas erklärender schreiben.Google Kalender Buchungssystem
Ich habe ein Programm geschrieben, das Daten von meinem Kunden Google Kalender lädt. Der OAuth2 'access_token' für diesen Kalender wird in der Datenbank gespeichert und jedes Mal weitergegeben, wenn ich darauf zugreifen muss. Als solches greift es immer auf den gleichen Kalender zu, den mein Client besitzt.
Mein Kunde aktualisiert dann diesen Google Kalender, und über die Google Kalender API und ein bisschen AJAX zeichne ich seine Frei/Gebucht-Daten ein und aktualisiere eine flache HTML-Seite für den Benutzer.
So verhält es sich wie ein Buchungssystem. Der Benutzer kann die HTML-Seite manipulieren, und die ausgewählten Tage werden dann über die Google Kalender-API im Google Kalender meiner Kunden aktualisiert.
Hier ist das Problem. Ich habe keine ‚refresh_token‘ und als solche
Aus irgendeinem Grunde erhalten, nachdem eine Stunde, meine ‚access_token‘ ist veraltet und ich kann die Kalenderdaten nicht zugreifen.
Dies sind die Werte, die ich für meine ‚Code‘ sende (nicht über die Formatierung Sorge, das nur Sie zeigen):
'redirect_uri' : 'http://local.test.com',
'client_id' : 'blahblah.apps.googleusercontent.com',
'scope' : 'https://www.googleapis.com/auth/calendar',
'access_type' : 'offline',
'response_type' : 'code'
Sobald ich meine ‚Code‘ abgerufen haben mache ich die zweite Anfrage für meine dann 'access_token':
'code': $code,
'grant_type': 'authorization_code' ,
'redirect_uri' : 'http://local.test.com',
'client_id' : 'blahblah.apps.googleusercontent.com',
'client_secret' : 'secret_code'
So bekomme ich alles zurück, was ich brauche, nur keine 'refresh_token'.
Kann jemand darauf hinweisen, wo ich hier falsch liege? Kann jemand vielleicht eine bessere Lösung vorschlagen, die auf meinem Fall basiert, oder selbst wenn ich das Unmögliche versuche?
Jede Hilfe wäre sehr dankbar
Ich verwende Google Calendar API v3