最近我从 Rhino
切换了我的谷歌幻灯片脚本运行时至 V8
.我测试了我的附加组件,但出现错误:
We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED
.
我的脚本使用
PropertiesService.getUserProperties()
.我发现我必须从我的谷歌帐户注销并再次登录,它工作过 .我可以想象这对于使用此附加组件的其他用户来说也可能是痛苦的。有没有其他方法可以解决这个错误?
appscript.json
配置{
"timeZone": "Europe/Bratislava",
"runtimeVersion": "V8",
"dependencies": {
},
"exceptionLogging": "STACKDRIVER"
}
此外,我正在使用 clasp 在我的 PC nad 上开发附加本地化将代码推送到 App 脚本。更新
我创建了最小的项目来重现这个错误,我发现
PropertiesService.getUserProperties()
不是问题。原来从 Rhino
切换后至 V8
,我无法调用任何 appscript 函数。// Code.gs
function onInstall(event) {
onOpen(event);
}
function onOpen(event) {
SlidesApp.getUi().createAddonMenu()
.addItem('Open the sidebar', '_showSidebar')
.addToUi();
_showSidebar();
}
function _showSidebar() {
var ui = HtmlService
.createHtmlOutputFromFile('index')
.setTitle('Test add-on');
SlidesApp.getUi().showSidebar(ui);
}
function getCurrentSlideObjectId() {
var page = SlidesApp.getActivePresentation().getSelection().getCurrentPage();
if (page && page.getPageType() === SlidesApp.PageType.SLIDE) {
return page.getObjectId();
}
return null;
}
带模板:<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
const onButtonClick = () => {
google.script.run
.withSuccessHandler(success)
.withFailureHandler(error)
.getCurrentSlideObjectId()
}
const success = (currentSlideObjectId) => {
console.log("It works!", currentSlideObjectId);
}
const error = (error) => {
error = typeof error === 'string' ? new Error(error) : error;
console.error(typeof error === 'object' && error !== null ? error.message : error);
}
</script>
</head>
<body>
<button onclick="onButtonClick()">Click me</button>
</body>
</html>
目前,我使用 2 个不同的帐户登录了我的谷歌驱动器。在与 Google chrome 登录不同的 acc 上测试附加组件时,会出现错误。
We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED
.
最佳答案
这是 Google IssueTracker 的一个已知问题 an add-on can lead to PERMISSION_DENIED
under certain conditions ,您可以继续点击 +1
以增加问题的知名度。如 Rubén说,这个问题也可以关注multiple logged users所以继续使用 +1
如果您的场景与该线程类似。
关于google-apps-script - 从 Rhino 切换到 V8 导致错误代码 PERMISSION_DENIED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62615196/