如何找到并删除 google 保存到磁盘文件中的身份验证信息,以使用不同的电子邮件连接到 api? MAC 操作系统上的 NODE.JS

问题描述 投票:0回答:2

我进行了测试运行以了解如何通过节点连接到谷歌日历API。使用节点js进行谷歌身份验证

我重新完成了尝试将我的实际项目连接到 google calendar api 的步骤,但是当我运行 Node Quickstart.js 时,我收到此错误:

API 返回错误:错误:unauthorized_client

经过几个小时的深思熟虑,我发现 Google 客户端库正在将我的身份验证信息保存在我的磁盘上。因此,当我运行 Node Quickstart.js 时,我收到一个错误,因为我为实际项目创建的新 client_secret.json 与在测试运行中创建的 client_secret.json 中的信息不匹配。

我发现我认为相关的文档建议:

// If modifying these scopes, delete your previously saved credentials
// at ~/.credentials/calendar-nodejs-quickstart.json

但是当我导航到我的用户文件夹时,我没有 .credentials 目录,因此我无法找到并删除我的旧身份验证信息。

我尝试通过全局搜索搜索 oauth,发现了一些我认为是问题所在的 oauth.js 文件。我天真地删除了所有这些,然后重新运行该命令,却发现终端因没有 oauth 节点模块而对我大喊大叫。

在替换我删除的 oauth 文件几个小时后,我仍然无法找到或删除麻烦的身份验证信息。

有人在 Mac 上编程并通过节点连接到 Google API 时遇到过类似的问题吗?

node.js google-api google-oauth google-api-client google-api-nodejs-client
2个回答
0
投票

假设您的代码遵循快速启动。您可以找到用户的凭据

var TOKEN_DIR = (process.env.HOME || process.env.HOMEPATH ||    process.env.USERPROFILE) + '/.credentials/';

如果你将其更改为 (或相当于 mac 目录结构,不是 mac 人抱歉)

var TOKEN_DIR = c:\currentdir\credentials;

它应该再次请求访问并将新的凭据文件存储在那里

注:

看起来代码的工作方式是他们期望您在该目录中拥有 .json 文件。因此请记住将其放在您设置了 TOKEN_DIR 的目录中。

var TOKEN_PATH = TOKEN_DIR + 'calendar-nodejs-quickstart.json';

0
投票

我遇到的问题是找到凭据目录。我了解到这是一个隐藏文件夹,并了解了如何显示/隐藏隐藏文件夹。

对于任何未来有问题的人,只需按照以下步骤操作:

  1. 导航至取景器中的
    /Users/YOURUSERPROFILE

  2. CMD + SHIFT + .
    显示隐藏的凭证文件夹
© www.soinside.com 2019 - 2024. All rights reserved.