2017-01-03 4 views
0

Ich arbeite an einem Google Drive-Datei-Upload Rest API. Der Benutzer gibt Berechtigungen für meine Google Drive App. Jetzt gibt es ein Login-Logout-System in meiner Anwendung, so dass Benutzer Dateien auf verschiedene Konten hochladen können.Google Drive-Problem

Technisch bekomme ich eine "refresh_token" auf Benutzerauthentifizierung, die ich "access_token" für jede Offlineanforderung erzeuge. Ich habe 'refresh_token' in der Datenbank gespeichert. Wenn ich mich abmelde, entferne ich es aus der Datenbank.

Wenn ein Benutzer sich mit [email protected] anmeldet, Erlaubnis gibt, meine Google Drive App und Abmeldung nach dem Upload einige Dateien. Dieser Benutzer versucht dann erneut, sich mit demselben Konto anzumelden, er generiert kein "refresh_token" oder fragt nach einer App-Berechtigung, wie es bereits vom Benutzer angegeben wurde.

Ich möchte die App-Berechtigung des Benutzers beim Abmelden entfernen. Oder ich möchte neue "refresh_token" durch neue Authentifizierung und Erlaubnis erhalten.

Bitte führen Sie mich für dieses Problem.

Vielen Dank im Voraus.

+1

Sie können einen Token https://developers.google.com/identity/protocols/OAuth2WebServer#offline widerrufen oder Sie können ihn einfach nach einem neuen anfordern. – DaImTo

+0

@Dalmto Wie wird nach einem neuen refresh_token gefragt? Bitte führen Sie mich, wie ich neu mit Google Drive API bin. – Hardik

+1

So wie Sie Ihr erstes Refresh-Token erhalten haben. Du wirst sie bitten müssen, dich erneut zu authentifizieren. – DaImTo

Antwort

0

Wie Token aktualisieren?

Sie verwenden $ client-> refreshToken ($ refreshToken) wie

if ($client->isAccessTokenExpired()) { 
$refreshToken = $client->getRefreshToken(); 
$client->refreshToken($refreshToken); 
$newAccessToken = $client->getAccessToken(); 
$newAccessToken['refresh_token'] = $refreshToken; 
file_put_contents($credentialsPath, json_encode($newAccessToken)); 
} 

Versuchen für Proben auf google api php library auf Github zu überprüfen.

Verwandte Themen