如何解决Google Sheets Add-on 错误:执行该操作需要授权
我有一个附加组件,它在我的域/公司内工作了多年,直到 Google 决定更改内容。 我重新发布了它,现在我可以运行它,但公司中的其他人都不能。 他们收到的错误是:
"Authorisation is required to perform that action".
我无法准确指出错误在哪里,因为 GCP 日志只告诉我函数而不是行,但似乎大多数时候在显示侧边栏时都会出现错误。
我不使用任何类型的 API,只是使用 GAS,但“以防万一”我在 OAuth 同意屏幕中添加了这些范围:.../auth/script.container.ui and .../auth/spreadsheets
。
在 Google Workspace Marketplace SDK OAuth Scopes 中,我刚刚保留了默认值。
我也尝试在 appscript.json 中添加这个(在顶级):
"oauthScopes": [
"https://www.googleapis.com/auth/script.container.ui","https://www.googleapis.com/auth/script.external_request","https://www.googleapis.com/auth/script.scriptapp","https://www.googleapis.com/auth/spreadsheets","https://www.googleapis.com/auth/userinfo.email"
]
我还能尝试什么?
更新:根据评论中的要求,这里是违规代码:
// clientside
google.script.run.
withSuccessHandler()
.withFailureHandler(failureHandler) // failureHandler gets called
.aServerFunc()
//serverside
function aServerFunc(){
Logger.log('REACHED') // NO REACHED APPEARS IN CLOUD LOGS !
var docProp = PropertiesService.getDocumentProperties();
return docProp.getProperty(key)
}
所以我想问题不在于其他人,但我可以在附加组件中运行 google.script.run !
更新 2: 我已经删除了 PropertiesService 调用,所以它只是服务器上的一个空白函数。所以很明显,除了我之外,没有人可以运行 google.scripts.run。
更新 3: 根据评论中的要求,这里是我发布附加组件的程序: 我创建了一个谷歌云项目,然后配置了 OAuth 同意屏幕(与 appsscript.json 具有相同的范围 - 请参见上面的列表),然后在 Google Workspace Marketplace SDK 中我设置了脚本 ID 和部署编号以及相同的范围并发布。
解决方法
事实证明附加组件很好!
只是this 4 years old bug that Google refuses to fix 如果用户使用多个帐户登录,则将使用默认帐户。
如果默认帐户是非域且附加组件仅限于域,则附加组件将无法授权。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。