【发布时间】:2019-09-05 15:29:46
【问题描述】:
我正在尝试制作一个可以由 Google 工作表的绑定脚本触发的 WebApp,以在我的权限下修改工作表。我尝试过使用可安装的触发器,但我需要的功能比它们提供的更多。
我复制并粘贴代码
Google Apps Script: Temporarily run script as another user
并试图使其正常运行,但不断收到相同的错误Exception: Request failed for https://script.google.com returned code 401. Truncated server response:,然后是页面的 HTML。我什至很难获得这个工作的基本版本,上面的链接是我找到的最/唯一相关的指南。
以下是我尝试获得基本功能的尝试(它返回与上述相同的错误)。如果我在浏览器中打开网络应用程序,它会成功将 1 添加到第一个单元格,但我无法弄清楚如何从工作表的绑定脚本中正确调用网络应用程序。
来自电子表格的绑定脚本:
function myFunction() {
UrlFetchApp.fetch('web app url');
}
来自网络应用程序:
function doGet() {
var ss = SpreadsheetApp.openById('spreadsheet id');
var sheet = ss.getSheetByName('Sheet1');
var cell = sheet.getRange(1, 1);
cell.setValue(cell.getValue() + 1);
}
我只需要一个有效的例子。之后,我可以从那里拿走它。
【问题讨论】:
-
阅读this
-
现在阅读,谢谢!
-
他们在大多数示例中使用 curl。这是我第一次遇到卷曲。我正在尝试的东西是否有必要,或者只是他们的偏好?对于这个项目,我宁愿现在不必学习它,但如果有必要,我会的。
-
不需要卷曲。 curl 和应用程序脚本中都提供了示例脚本。您需要在获取请求中发送访问令牌。此外,对 DriveApp.getFilesBy...() 进行虚拟调用以在访问令牌中包含驱动器范围。
标签: google-apps-script google-sheets web-applications http-status-code-401