無法啟用 Google 日曆雲端 API
P粉648469285
P粉648469285 2024-02-26 14:55:58
0
1
299

我與 Google Workspace 客戶支援人員進行了交談,但他們未能找到有關此問題的適當文件。他們指引我來到這裡。

很簡單,我正在嘗試啟用Google Cloud API 按照以下文件在使用者日曆中建立活動(並希望向其中添加Google Meet URL):https://developers.google.com/日曆/api/guides/create -events。

我正在遵循快速入門 PHP 程式碼範例,該範例首先指示透過 Composer 安裝 SDK 並在 PHP 中授權 Google Cloud API。該連結位於:https://developers.google.com/calendar/api/quickstart/php。

該頁面提供的腳本(步驟 2)最初失敗(在步驟 3 期間),並出現以下錯誤:

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

堆疊追蹤: #0 /path/to/app_root/quickstart.php(17): Google\Client->setAuthConfig('credentials.jso...') #1 /path/to/app_root/quickstart.php(63): getClient() #2 {主要} 拋出在 /path/to/vendor/Google/google/apiclient/src/Client.php 第 984 行

我已按照此處的說明建立了一個服務帳戶:

雖然說明中沒有包含建立服務帳號和產生 JSON 金鑰的步驟,但我在網路上找到了該解決方案,並且已得到 Google Workspace 支援代理程式的驗證。我下載並重新命名了該文件,並將其放入腳本根目錄中(儘管不完整的文檔中也沒有指定路徑,但這已由 Google Workspace 支援代理驗證)。我再次運行腳本並收到此錯誤:

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

我嘗試建立 OAuth 重定向 URI 並重新產生 JSON 金鑰,但發生了相同的錯誤。以下是我從服務帳戶 KEYS 部分下載的身份驗證 JSON 文件,其中包含已編輯的任何帳戶特定資訊:

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

儘管快速入門指南似乎在故障排除部分解決了此問題,但該建議似乎並不適用,因為步驟 1 中沒有「按鈕」。從故障排除部分:

未捕獲的 InvalidArgumentException:缺少所需的重定向 URI

#當使用的credentials.json檔案包含 客戶端 ID 類型錯誤。此程式碼需要 OAuth 用戶端 ID 輸入“其他”,當您使用該按鈕時將為您創建 步驟 1. 如果建立您自己的客戶端 ID,請確保您選擇 正確的類型。

任何人都可以幫助我了解如何取得適當的 credentials.json 檔案嗎?我不確定這個過程應該如何進行,但 Google Workspace 支援代理表示他們找不到任何文檔,並指示我前往此處。如果我的問題需要以不同的方式指定,請告知。

P粉648469285
P粉648469285

全部回覆(1)
P粉316423089

您的程式碼正在嘗試使用服務帳戶。此範例使用 OAuth 客戶端密鑰。

設定 OAuth 2.0

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!