0

在电脑上

  • 我已将 node-red 设置为在 Windows 10 PC 上运行。
  • 我使用“管理调色板”选项卡来安装 node-red-node-google 小工具。
  • 我设置了一个 Google API 帐户来提供 api 凭据。我只设置了一个项目并要求提供一个 api 的凭据。
  • 我绘制了一个红色节点流来将日历事件发送到调试窗口。
  • 我使用 google 提供的凭据配置“google calendar out”节点,并将 node-red 节点中推荐的回调添加到“授权重定向 URI”的 google api 列表中。日历输出节点推荐的回调是本地主机。
  • 我设置了一个谷歌日历并测试以查找调试窗口按预期接收日历开始和停止事件的详细信息。

ON ODROBIAN (DEBIAN)

  • 然后我通过将 node-red 安装到运行 odrobian vanilla(基于控制台的 debian)的 odroid-c1 来重复该过程。
  • 我经历了同样的过程。
  • 这次 Google 日历配置建议回调 node-red.example.com,并建议更新 /etc/hosts 并将 odroid 的 ip 映射到 node-red.example.com。
  • 将 node-red.example.com 回调添加到 api 帐户上的 api 回调 uri。odroid ip 按照建议映射到 /etc/hosts 中的 node-red.example.com。
  • Odroid 重新启动,node-red 启动,尝试“通过 google 验证”并显示 api 请求权限页面。
  • 选择了“允许”,但“找不到 node-red.example.com 的服务器 DNS 地址”。被展示。
  • 尝试了防火墙设置,但没有任何东西可以完成请求权限。

因此,按照与 PC 相同的步骤,在基于 arm-v7 的 odroid c1 上运行的 debian 上,api 权限在最后一步失败。

回调 uri 是由 node-red-node-google 配置节点生成的,因此可以轻松更改不是很明显。当然,将回调设置为 localhost,就像在 PC 版本中一样,似乎是一个首选选项,但如果它实际上很容易配置。

除了闯入软件将回调更改为 localhost 之外,是否有任何方法可以解决 DNS 地址丢失问题?

4

1 回答 1

0

假设您更新了 odroid 上的 /etc/hosts 并且您正在从其他机器访问 Node-RED UI。

向 /etc/hosts 文件添加条目只会更改 odroid 机器解析 DNS 地址的方式,而不是您访问 Node-RED UI 的机器解析 DNS 地址的方式。这很重要,因为 OAuth 重定向将由访问 UI 的机器而不是 odroid 机器处理。

为此,您需要在 Windows 机器而不是 odroid 上编辑主机文件。

于 2016-12-28T00:04:00.137 回答