首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法启用Google日历云API

无法启用Google日历云API
EN

Stack Overflow用户
提问于 2022-05-23 23:46:50
回答 1查看 139关注 0票数 0

我与Google客户支持部门进行了交谈,但他们没有找到关于这个问题的适当文档。是他们指引我来的。

非常简单,我试图使Google能够在用户日历中创建一个事件(并希望向其添加Google ),如本文所示:https://developers.google.com/calendar/api/guides/create-events

我遵循Quickstart PHP代码示例,它首先指示通过composer安装SDK,并在PHP中授权Google。链接在这里:https://developers.google.com/calendar/api/quickstart/php

该页提供的脚本(步骤2)最初失败(在步骤3期间),错误如下:

代码语言:javascript
复制
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):/path/to/vendor/Google/google/apiclient/src/Client.php中抛出的getClient() #2 {main}

我按照下面的说明创建了一个服务帐户:

虽然这些说明没有包括创建服务帐户和生成JSON密钥的步骤,但我在网上找到了该解决方案,并由Google支持代理进行了验证。我下载并重命名了该文件,并将其放在脚本根目录中(尽管不完整的文档中也没有指定路径,但这已由Google支持代理进行了验证)。我再次运行了脚本,并收到了以下错误:

代码语言:javascript
复制
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文件,其中包含修改过的任何帐户特定信息:

代码语言:javascript
复制
{
  "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中没有“按钮”,因此建议似乎不适用。

Uncaught :缺少所需的重定向URI 当使用的credentials.json文件包含错误类型的客户端ID时,会发生此错误。此代码需要一个类型为Other的OAuth客户端ID,它将在使用步骤1中的按钮时为您创建。如果创建自己的客户端ID,请确保选择正确的类型。

有人能帮助我理解如何获得适当的credentials.json文件吗?我不确定这个过程应该如何进行,但是Google支持代理说他们找不到任何文档,并指示我到这里来。如果我的问题需要用另一种方式来说明,请告知。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-24 03:50:28

您的代码试图使用服务帐户。该示例使用“使用OAuth客户端机密”。

设置OAuth 2.0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72355851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档