Trello OAuth 仅使用一个 Google Apps 脚本

Trello OAuth only working with one Google Apps Script

背景

我的想法

需要帮助

有谁知道如何进行这项工作?我需要这两个脚本才能创建 Trello 卡片。我觉得每个应用程序都需要唯一标识自己,但老实说我不知道​​。

这确实是一个 OAuth 逻辑问题,它是一个功能,而不是错误。在 OAuth 中,您的应用程序将刷新令牌交换为访问令牌。访问令牌只有有限的生命周期。

当您使用刷新令牌生成新的访问令牌时,您还会获得一个新的唯一刷新令牌并且您的脚本存储它以供将来使用,旧的刷新令牌不再有效。同样,当您重新授权应用程序时,您会获得新的令牌,并且之前生成的任何令牌都将无效。

因此,当您使用与另一个脚本相同的客户端 ID 和客户端密码授权一个脚本时,您将获得一个新的访问令牌和刷新令牌,而另一个脚本存储的旧凭据将变得无效。

因此,其他脚本无法再将其存储的刷新令牌交换为新的访问令牌,因此它不再有效。一旦你重新授权这个副本,另一个副本中的刷新令牌和访问令牌将以同样的方式失效。所以你最终会绕圈子。

您有两个选择:

  • 为每个脚本设置一个单独的 OAuth 客户端(具有不同的客户端 ID 和客户端密码)。

  • 修改您的脚本以对 OAuth 访问令牌和机密使用相同的存储位置。

第一种方法将为您提供最可靠的一致结果。如果您尝试第二种方法,您仍然可能会遇到脚本 运行 同时出现的情况,其中一个具有有效标记,而另一个尝试使用现在无效的标记。 (竞争条件)。