首页  >  问答  >  正文

无法启用 Google 日历云 API

我与 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粉648469285P粉648469285256 天前313

全部回复(1)我来回复

  • P粉316423089

    P粉3164230892024-02-27 13:45:20

    您的代码正在尝试使用服务帐户。该示例使用 OAuth 客户端密钥。

    设置 OAuth 2.0

    回复
    0
  • 取消回复