【发布时间】:2022-01-16 06:26:56
【问题描述】:
按照https://developers.google.com/google-apps/activity/v1/quickstart/nodejs 的说明,我尝试使用 Node.js 创建示例程序
我在尝试运行时抛出一个错误,提示 cannot read property 'client_secret' of undefined。
寻找您的宝贵建议。
提前致谢。
【问题讨论】:
按照https://developers.google.com/google-apps/activity/v1/quickstart/nodejs 的说明,我尝试使用 Node.js 创建示例程序
我在尝试运行时抛出一个错误,提示 cannot read property 'client_secret' of undefined。
寻找您的宝贵建议。
提前致谢。
【问题讨论】:
你好像错过了Step 1: Turn on the Google Apps Activity API。
创建凭证后:
f。单击右侧的 file_download(下载 JSON)按钮 客户 ID。
g.将此文件移动到您的工作目录并重命名 client_secret.json。把它放在你的项目文件夹中。
【讨论】:
var clientSecret = credentials.installed.client_secret;
在这一行中,凭据指向client_secret.json,因此必须“安装”第一个密钥。在我的情况下,关键是“网络”,这导致了错误。我刚刚将键“web”重命名为“installed”。
【讨论】:
您的client_secret.json 文件需要包含以下行:
"redirect_uris": ["urn:ietf:wg:oauth:2.0:oob", "http://localhost"]
而不是像下面这样的行:
"javascript_origins":
[
"http://localhost:8080",
"http://localhost:1453",
"http://127.0.0.1:1453",
"http://localhost"
]
您也可能希望将client_secret.json 中的链头从web 更改为installed,反之亦然。
【讨论】:
我遇到了这个问题,但我的凭据文件类型错误。我最初使用“Web Server (Nodejs)...”,它的标题是“web”而不是“已安装”,但是当我再次这样做并选择“Windows UI (cmd line)”时,我得到了格式正确的文件。
【讨论】:
尝试选择应用程序类型“其他”。 选择“帮我选择”选项,您可以在此处选择其他应用程序类型。 这样,您的 client_secret.json 将具有名为“已安装”的变量。
【讨论】:
最新版本的 Google Drive API 在创建 OAuth API 密钥时将有一个桌面客户端选项。选择它,它将包含从脚本访问 Google 驱动器所需的所有信息。
【讨论】: