最近,我将Google幻灯片脚本运行时从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"
}此外,我正在我的个人电脑nad上开发外接程序,使用卡环将代码推送到应用程序脚本。
更新
我创建了最小的项目来重现这个错误,我发现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>目前,我是登录到我的谷歌驱动器与两个不同的accs。在测试与Google chrome登录不同的acc上时,会出现一个错误。
We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED。
https://stackoverflow.com/questions/62615196
复制相似问题