Google apps script 如何将OAuth 2.0与带有静态重定向URL的Google Apps脚本库一起使用?

Google apps script 如何将OAuth 2.0与带有静态重定向URL的Google Apps脚本库一起使用?,google-apps-script,oauth,oauth-2.0,asana-api,asana-connect,Google Apps Script,Oauth,Oauth 2.0,Asana Api,Asana Connect,我不知道如何使用OAuth 2.0创建共享的Google应用程序脚本库 问题是每次我在不同的脚本中使用库时,usercallback重定向URL都会发生变化。然而,这意味着我需要为我在其中使用脚本的每个电子表格添加一个新的应用程序和到Asana的白名单重定向URL。我正在使用 是否有一种方法可以始终使用相同的重定向URL进行身份验证,以便我创建的库可以从任何脚本中使用,而无需在Asana中注册新的重定向URL?我是Asana的开发人员倡导者。如果我正确理解了您的问题,那么是的,您必须为每个脚本分

我不知道如何使用OAuth 2.0创建共享的Google应用程序脚本库

问题是每次我在不同的脚本中使用库时,
usercallback
重定向URL都会发生变化。然而,这意味着我需要为我在其中使用脚本的每个电子表格添加一个新的应用程序和到Asana的白名单重定向URL。我正在使用


是否有一种方法可以始终使用相同的重定向URL进行身份验证,以便我创建的库可以从任何脚本中使用,而无需在Asana中注册新的重定向URL?

我是Asana的开发人员倡导者。如果我正确理解了您的问题,那么是的,您必须为每个脚本分别处理回调。出于安全原因,我们验证OAuth应用程序注册是否注册了与身份验证时实际请求的集成相同的url。例如,如果这不是真的,可能会创建一个恶意脚本,该脚本使用合法脚本中的
客户端id
,但要求重定向到其自己的凭据抓取端点。如果在应用程序注册时获得
客户端id
的应用程序也精确地指定了哪个端点应该是要重定向到的合法端点,则这是固定的。这意味着每个OAuth应用程序都需要有自己独特且一致的重定向URL:(

我想你可以创建一个“路由器”Google Apps脚本,当点击Asana时,它将使用一些用户/脚本对设置
状态
参数,并在响应返回时根据该用户/脚本对将用户凭据转发到路由器脚本后面的脚本,但这并不是非常简单的

最后一种选择是使用a访问Asana的API。这一令牌可以被无限数量的脚本用于访问。缺点是该令牌“看起来像你”,也就是说,它不是代表第三方用户而是代表您自己采取行动-您的脚本将是他们使用其个人访问令牌的用户的自动版本。这可以通过创建“bot帐户”在一定程度上缓解访问我们的API并允许它在Asana内部访问您想要收集数据的项目或团队。这种方法的另一个缺点是,如果您撤销一个令牌,则使用个人访问令牌的每个脚本都将中断,因此,如果发生这种情况,无论是有意还是无意,您都必须更新个人访问令牌每个使用它的脚本中的信息


希望这有助于您评估选项,并选择其中哪一个选项最适合您的脚本。

感谢您的确认。我已经编写了一个自定义公式,用于完成给定项目的所有任务。问题是,假设我们为每个sprint或项目制作一个电子表格,这意味着我们必须向Asana添加新的应用程序对于我们制作的每一个电子表格——显然不是很好。这听起来像是创建一个具有永久web服务URL的应用程序脚本的中间解决方案,可以工作,所以我可能会走这条路。我考虑过一个个人访问令牌,但它会公开我的所有私人任务,并且一个机器人帐户将花费美元。理想情况下,我们可以与世界共享这一点我也是。