【问题标题】:cannot read property 'client_secret' of undefined无法读取未定义的属性“client_secret”
【发布时间】: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

寻找您的宝贵建议。

提前致谢。

【问题讨论】:

    标签: node.js google-drive-api


    【解决方案1】:

    你好像错过了Step 1: Turn on the Google Apps Activity API

    创建凭证后:

    f。单击右侧的 file_download(下载 JSON)按钮 客户 ID。

    g.将此文件移动到您的工作目录并重命名 client_secret.json。把它放在你的项目文件夹中。

    【讨论】:

    • 我没有错过第一步。我已下载 JSON 文件,将其重命名为 client_secret 并将其放在我的工作目录中。
    • 当你将它重命名为client_secret时,你是否保留了文件扩展名.json?所以文件一定是client_secret.json 并且你把它放在你的项目文件夹中了吗?
    • 是的,文件名是 client_secret.json 我没有忘记扩展名 .json。我也将文件放在项目文件夹中。
    • 你把它放在你的项目文件夹里了吗?
    • 现在应该可以工作了。快速运行一下,它对我有用。您的 oauth clientID 是“其他”类型的吗?
    【解决方案2】:

    var clientSecret = credentials.installed.client_secret; 在这一行中,凭据指向client_secret.json,因此必须“安装”第一个密钥。在我的情况下,关键是“网络”,这导致了错误。我刚刚将键“web”重命名为“installed”。

    【讨论】:

      【解决方案3】:

      您的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,反之亦然。

      【讨论】:

        【解决方案4】:

        我遇到了这个问题,但我的凭据文件类型错误。我最初使用“Web Server (Nodejs)...”,它的标题是“web”而不是“已安装”,但是当我再次这样做并选择“Windows UI (cmd line)”时,我得到了格式正确的文件。

        【讨论】:

          【解决方案5】:

          由于没有名为“已安装”的密钥,因此将其解析为undefined

          credentials.json 中将键“web”更改为“已安装”。可能文档需要从 Google 的角度进行更改。

          之前

          之后

          【讨论】:

            【解决方案6】:

            尝试选择应用程序类型“其他”。 选择“帮我选择”选项,您可以在此处选择其他应用程序类型。 这样,您的 client_secret.json 将具有名为“已安装”的变量。

            【讨论】:

              【解决方案7】:

              最新版本的 Google Drive API 在创建 OAuth API 密钥时将有一个桌面客户端选项。选择它,它将包含从脚本访问 Google 驱动器所需的所有信息。

              【讨论】:

                猜你喜欢
                • 2017-09-24
                • 1970-01-01
                • 2020-04-06
                • 2020-10-30
                • 2019-10-09
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多