Maison > Questions et réponses > le corps du texte
J'ai parlé avec le service client de Google Workspace, mais ils n'ont pas pu trouver de documentation appropriée sur ce problème. Ils m'ont guidé ici.
Très simple, j'essaie d'activer l'API Google Cloud pour créer des événements dans le calendrier d'un utilisateur (et je souhaite y ajouter une URL Google Meet) selon la documentation suivante : https://developers.google.com/calendars /api/guides/create-events .
Je suis l'exemple de code PHP de démarrage rapide, qui vous demande d'abord d'installer le SDK via Composer et d'autoriser l'API Google Cloud en PHP. Le lien est à l'adresse : https://developers.google.com/calendar/api/quickstart/php.
Le script fourni sur cette page (étape 2) échoue initialement (lors de l'étape 3) avec l'erreur suivante :
PHP Fatal error: Uncaught InvalidArgumentException: file "credentials.json" does not exist in /path/to/vendor/Google/google/apiclient/src/Client.php:984
Trace de pile : #0 /path/to/app_root/quickstart.php(17) : GoogleClient->setAuthConfig('credentials.jso...') #1 /chemin/vers/app_root/quickstart.php(63) : getClient() #2 {Principal} Ajout de la ligne 984 de /path/to/vendor/Google/google/apiclient/src/Client.php
J'ai créé un compte de service en suivant les instructions ici :
Bien que les étapes pour créer un compte de service et générer une clé JSON n'étaient pas incluses dans les instructions, j'ai trouvé la solution en ligne et elle a été vérifiée par un agent d'assistance Google Workspace. J'ai téléchargé et renommé le fichier et l'ai placé dans le répertoire racine du script (cela a été vérifié par un agent d'assistance de Google Workspace, bien que le chemin ne soit pas non plus spécifié dans la documentation incomplète). J'ai réexécuté le script et j'ai eu cette erreur :
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
J'ai essayé de créer l'URI de redirection OAuth et de régénérer la clé JSON, mais la même erreur s'est produite. Voici le fichier JSON d'authentification que j'ai téléchargé à partir de la section KEYS du compte de service, avec toutes les informations spécifiques au compte modifiées :
{ "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" }
Bien que le guide de démarrage rapide semble résoudre ce problème dans la section de dépannage, le conseil ne semble pas s'appliquer car il n'y a pas de « bouton » à l'étape 1. Depuis la section dépannage :
Uncaught InvalidArgumentException : l'URI de redirection requis est manquant
Lorsque vous utilisez le fichier certificates.json contenant Type d'ID client incorrect. Ce code nécessite un identifiant client OAuth Entrez "Autre" et il sera créé pour vous lorsque vous utiliserez le bouton Étape 1. Si vous créez votre propre identifiant client, assurez-vous de sélectionner Type correct.
Quelqu'un peut-il m'aider à comprendre comment obtenir les fichiers credentials.json
appropriés ? Je ne sais pas comment ce processus est censé fonctionner, mais l'agent d'assistance de Google Workspace a déclaré qu'il n'avait trouvé aucune documentation et m'a dirigé ici. Si ma question doit être spécifiée différemment, veuillez me le faire savoir.
P粉3164230892024-02-27 13:45:20
Votre code essaie d'utiliser un compte de service. Cet exemple utilise un secret client OAuth.