Ich habe versucht, jede Kombination von Dingen zu versuchen, um Fortschritte in diesem Problem zu erzielen, aber ich komme nirgendwohin. Ich versuche, mit einem Dienstkonto auf einen Kalender eines Benutzers in der Domäne zuzugreifen. Das Dienstkonto ist eingerichtet, scheint gut zu funktionieren. Soweit ich das beurteilen kann, ist die Domain-weite Delegation nach https://developers.google.com/identity/protocols/OAuth2ServiceAccount?hl=en_US#delegatingauthority aktiviert. In meinem Code unten funktioniert alles gut, bis ich den Identitätswechsel-Account eingerichtet habe und ich den Fehler im Titel erhalte. Ich habe verschiedene Beiträge zum Authentifizieren des Imitator-Benutzers usw. gesehen, aber das scheint nicht mit dem übereinzustimmen, was Google sagt. Ich stecke fest.Google API PHP, Probleme mit dem Dienstkontoditentwechsel
$client = new Google_Client();
$client->setSubject('[email protected]');
$client->setAuthConfig($_SERVER['DOCUMENT_ROOT'] . '/private.json');
$client->setScopes(['https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly']);
Dies wird jede Art von api Anfrage veranlassen, mit dem Fehler fehlschlagen:
Message: {
"error": "unauthorized_client",
"error_description": "Unauthorized client or scope in request."
}
Vielen Dank für Ihre Antwort. Ich hatte dieses Set aber nicht in Originalfrage, aber aktualisiert. –
Sie haben den in der Google Developer Console erstellten Dienstschlüssel dort in der Admin-Konsole hinzugefügt? Das folgende Lernprogramm: https://developers.google.com/api-client-library/php/auth/service-accounts#delegatingauthority –