我有一个项目,我在其中使用脚本对表单提交中的数据进行一些计算和操作。脚本会时不时地失败并显示以下错误:Authorization is required to perform that action.
我无法在支持文档中找到有关此错误的信息。
2 个问题:
答案 0 :(得分:2)
回答您的问题:
1.我的脚本通过身份验证的时间是多久?
根据与脚本相关联的 GCP 项目的发布状态,身份验证将持续不同的时间段。
例如,如果发布状态设置为 Testing
,身份验证将设置为持续 7 天作为安全功能。
测试用户的授权自同意之日起 7 天后到期。如果您的 OAuth 客户端请求离线访问类型并收到刷新令牌,该令牌也会过期。
此外,关于取消授权以及您收到的错误背后的原因,还需要考虑其他一些事项:
用户撤销了对您应用的访问权限。
刷新令牌已六个月未使用。
用户更改了密码,刷新令牌包含 Gmail 范围。
用户帐户已超过授予(实时)刷新令牌的最大数量。
正如公共问题跟踪器上的 issue 所指出的,一个可能的解决方案是在 Apps 脚本项目的清单中设置明确的范围。根据您的用例,您必须调整下面显示的内容:
{
...
"oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets.readonly",
"https://www.googleapis.com/auth/admin.directory.user.readonly"
],
...
2.有没有办法自动重新进行身份验证,还是每次发生这种情况时我都必须手动重新进行身份验证?
不幸的是,您每次都必须手动重新授权应用程序。