Tidak dapat mendayakan API Awan Kalendar Google
P粉648469285
P粉648469285 2024-02-26 14:55:58
0
1
332

Saya bercakap dengan sokongan pelanggan Google Workspace tetapi mereka tidak dapat mencari dokumentasi yang betul tentang isu ini. Mereka membimbing saya ke sini.

Sangat mudah, saya cuba mendayakan API Awan Google untuk membuat acara dalam kalendar pengguna (dan ingin menambahkan URL Google Meet padanya) seperti dalam dokumentasi berikut: https://developers.google.com/calendar /api/guides/create-events .

Saya mengikuti contoh kod PHP permulaan pantas, yang mula-mula mengarahkan anda untuk memasang SDK melalui Komposer dan membenarkan API Awan Google dalam PHP. Pautan ada di: https://developers.google.com/calendar/api/quickstart/php.

Skrip yang disediakan pada halaman ini (langkah 2) pada mulanya gagal (semasa langkah 3) dengan ralat berikut:

PHP Fatal error:  Uncaught InvalidArgumentException: file "credentials.json" does not exist in /path/to/vendor/Google/google/apiclient/src/Client.php:984

Jejak tindanan: #0 /path/to/app_root/quickstart.php(17): GoogleClient->setAuthConfig('credentials.jso...') #1 /path/to/app_root/quickstart.php(63): getClient() #2 {Utama} Melempar ke dalam /path/to/vendor/Google/google/apiclient/src/Client.php talian 984

Saya telah mencipta akaun perkhidmatan mengikut arahan di sini:

Walaupun langkah untuk membuat akaun perkhidmatan dan menjana kunci JSON tidak disertakan dalam arahan, saya menemui penyelesaian itu dalam talian dan ia telah disahkan oleh ejen sokongan Google Workspace. Saya memuat turun dan menamakan semula fail dan meletakkannya dalam direktori akar skrip (ini telah disahkan oleh ejen sokongan Google Workspace, walaupun laluan tidak dinyatakan dalam dokumentasi yang tidak lengkap sama ada). Saya menjalankan skrip sekali lagi dan mendapat ralat ini:

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

Saya cuba mencipta URI ubah hala OAuth dan menjana semula kunci JSON, tetapi ralat yang sama berlaku. Berikut ialah fail JSON pengesahan yang saya muat turun dari bahagian akaun perkhidmatan KEYS, dengan sebarang maklumat khusus akaun diedit:

{
  "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"
}

Walaupun panduan mula pantas nampaknya menangani isu ini dalam bahagian penyelesaian masalah, nasihat itu nampaknya tidak terpakai kerana tiada "butang" dalam langkah 1. Dari bahagian penyelesaian masalah:

Uncaught InvalidArgumentException: URI ubah hala yang diperlukan tiada

Apabila menggunakan fail credentials.json yang mengandungi Jenis ID pelanggan yang salah. Kod ini memerlukan ID klien OAuth Masukkan "Lain-lain" dan ia akan dibuat untuk anda apabila anda menggunakan butang Langkah 1. Jika mencipta ID pelanggan anda sendiri, pastikan anda memilih Jenis yang betul.

Bolehkah sesiapa membantu saya memikirkan cara mendapatkan credentials.json fail yang betul? Saya tidak pasti bagaimana proses ini sepatutnya berfungsi, tetapi ejen sokongan Google Workspace berkata mereka tidak menemui sebarang dokumentasi dan mengarahkan saya ke sini. Jika soalan saya perlu dinyatakan secara berbeza, sila beritahu saya.

P粉648469285
P粉648469285

membalas semua(1)
P粉316423089

Kod anda cuba menggunakan akaun perkhidmatan. Contoh ini menggunakan rahsia pelanggan OAuth.

Sediakan OAuth 2.0

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan