Ich habe mit dem Kundensupport von Google Workspace gesprochen, aber sie konnten keine ordnungsgemäße Dokumentation zu diesem Problem finden. Sie haben mich hierher geführt.
Ganz einfach: Ich versuche, die Google Cloud API zum Erstellen von Ereignissen im Kalender eines Benutzers zu aktivieren (und möchte ihm eine Google Meet-URL hinzufügen), wie in der folgenden Dokumentation beschrieben: https://developers.google.com/calendar /api/guides/create-events .
Ich folge dem Quickstart-PHP-Codebeispiel, das Sie zunächst anweist, das SDK über Composer zu installieren und die Google Cloud API in PHP zu autorisieren. Der Link ist unter: https://developers.google.com/calendar/api/quickstart/php.
Das auf dieser Seite bereitgestellte Skript (Schritt 2) schlägt zunächst (während Schritt 3) mit der folgenden Fehlermeldung fehl:
PHP Fatal error: Uncaught InvalidArgumentException: file "credentials.json" does not exist in /path/to/vendor/Google/google/apiclient/src/Client.php:984
Stack-Trace: #0 /path/to/app_root/quickstart.php(17): GoogleClient->setAuthConfig('credentials.jso...') #1 /path/to/app_root/quickstart.php(63): getClient() #2 {Haupt} Einwerfen /path/to/vendor/Google/google/apiclient/src/Client.php Zeile 984
Ich habe gemäß den Anweisungen hier ein Dienstkonto erstellt:
Obwohl die Schritte zum Erstellen eines Dienstkontos und zum Generieren eines JSON-Schlüssels nicht in den Anweisungen enthalten waren, habe ich die Lösung online gefunden und sie wurde von einem Google Workspace-Supportmitarbeiter überprüft. Ich habe die Datei heruntergeladen, umbenannt und im Stammverzeichnis des Skripts abgelegt (dies wurde von einem Google Workspace-Supportmitarbeiter überprüft, obwohl der Pfad auch in der unvollständigen Dokumentation nicht angegeben ist). Ich habe das Skript erneut ausgeführt und folgende Fehlermeldung erhalten:
PHP Fatal error: Uncaught InvalidArgumentException: missing the required redirect URI in /path/to/vendor/Google/google/auth/src/OAuth2.php:694 Stack trace: #0 /path/to/vendor/Google/google/apiclient/src/Client.php(406): Google\Auth\OAuth2->buildFullAuthorizationUri(Array) #1 /path/to/app_root/quickstart.php(38): Google\Client->createAuthUrl() #2 /path/to/app_root/quickstart.php(63): getClient() #3 {main} thrown in /path/to/vendor/Google/google/auth/src/OAuth2.php on line 694
Ich habe versucht, den OAuth-Umleitungs-URI zu erstellen und den JSON-Schlüssel neu zu generieren, aber der gleiche Fehler ist aufgetreten. Hier ist die JSON-Authentifizierungsdatei, die ich aus dem Abschnitt „KEYS“ des Dienstkontos heruntergeladen habe, mit allen kontospezifischen Informationen bearbeitet:
{
"type": "service_account",
"project_id": "massive-clone-{REDACTED}",
"private_key_id": "{REDACTED}",
"private_key": "-----BEGIN PRIVATE KEY-----{REDACTED}\n-----END PRIVATE KEY-----\n",
"client_email": "calendar-api@massive-clone-{REDACTED}.iam.gserviceaccount.com",
"client_id": "{REDACTED}",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/calendar-api%40massive-clone-{REDACTED}.iam.gserviceaccount.com"
}
Obwohl die Kurzanleitung dieses Problem im Abschnitt zur Fehlerbehebung zu behandeln scheint, scheinen die Ratschläge nicht zuzutreffen, da es in Schritt 1 keine „Schaltfläche“ gibt. Aus dem Abschnitt zur Fehlerbehebung:
Uncaught InvalidArgumentException: Erforderlicher Umleitungs-URI fehltDateien bekomme? Ich bin mir nicht sicher, wie dieser Prozess funktionieren soll, aber der Google Workspace-Supportmitarbeiter sagte, er könne keine Dokumentation finden und verwies mich hierher. Wenn meine Frage anders formuliert werden muss, lassen Sie es mich bitte wissen.Bei Verwendung der Datei credentials.json mit Falscher Client-ID-Typ. Für diesen Code ist eine OAuth-Client-ID erforderlich Geben Sie „Sonstiges“ ein und es wird für Sie erstellt, wenn Sie die Schaltfläche verwenden Schritt 1: Wenn Sie Ihre eigene Kunden-ID erstellen, stellen Sie sicher, dass Sie diese auswählen Richtiger Typ.
Kann mir jemand helfen herauszufinden, wie ich die richtigen
您的代码正在尝试使用服务帐户。该示例使用 OAuth 客户端密钥。
设置 OAuth 2.0