无法启用 Google 日历云 API
P粉648469285
P粉648469285 2024-02-26 14:55:58
0
1
307

我与 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学习者快速成长!