当前位置: 首页 > 知识库问答 >
问题:

如何使用Google Apps脚本执行API Java创建Google表单?

贺华容
2023-03-14

我尝试了一个简单的Java命令行应用程序,它向GoogleApps脚本执行API发出请求。大概是这样的:https://developers.google.com/apps-script/guides/rest/quickstart/java#prerequisites.但它不起作用。

谷歌应用程序脚本编辑器:

function createForm() {

  var form = FormApp.create('New Form');

}

Java错误:

Credentials saved to /home/palmaslab/.credentials/script-java-quickstart.json
com.google.api.client.googleapis.json.GoogleJsonResponseException: 401 Unauthorized
        at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
        at org.gradle.AppsScriptApiQuickstart.main(AppsScriptApiQuickstart.java:188)

共有2个答案

诸葛康胜
2023-03-14

似乎您必须事先授权范围。也许它可以帮助您:工作表、文档和窗体的手动授权范围

凌嘉勋
2023-03-14

调用API时返回HTTP 401响应的API。这些错误可能表明:

令牌到期、令牌撤销、令牌未授权用于所需范围、请求未使用OAuth 2.0协议正确授权。您还可以查看表单服务,了解有关表单服务的更多信息

下面是401的一个相关问题:未经授权:谷歌应用程序脚本和执行API:最新版本的脚本抛出错误

 类似资料:
  • 问题内容: 我使用 hsqldb 运行需要数据库访问权限的单元测试。 目前,当我想为特定测试创建表时,我具有以下代码: 该方法检索在上下文中定义的DataSource : 现在,我想从一个SQL脚本创建表(当然,此脚本将包含多个表创建): 在HSQLDB文档中,我可以要求他在启动时运行脚本。但是,它不符合我的要求,因为我想在运行时运行脚本。 当然,我可以自己读取文件,并且对于每个SQL语句,我都运

  • 问题内容: 鉴于Java 9已经来临,我们终于可以拥有Java REPL了,我希望有一种方法可以在脚本中添加shebang并对其进行解释。 我尝试创建: 然而,这给出了: 事实证明,OpenJDK https://bugs.openjdk.java.net/browse/JDK-8167440中对此有增强要求。 还有其他方法吗? 问题答案: 用 作为的第一行。该脚本可能如下所示: 当然,命令行选项

  • 问题内容: 我正在寻找编写一个小的bash脚本,以便在启动时监视任何新创建文件的目录。如果出现新文件,我希望它的存在触发第二个脚本运行。 我看到它被用来触发压缩最近数字化的视频,并将其添加到摄取素材的日志中。 目前,我的代码如下所示: 有没有更简单/更清洁/更少内存的方式来做到这一点? 编辑 我将在每个捕获会话中更改提取目录。我已经相应地调整了代码 问题答案: Incron 怎么样?它在文件/目录

  • 我正在使用谷歌表单来触发这个脚本。 当我用播放按钮运行脚本时,它工作得很好。 当我让提交触发器运行它时,复选框填充正常,但setValue日期没有。 我也试过了但是我得到了相同的结果。 最终目标是让J列在每次提交表单时填充A列中的快照格式日期 我需要此格式在另一张工作表上运行countIfs。 另一种选择是以某种方式将格式标记嵌入到CountIfs命令中,以便它们匹配。

  • 问题内容: 我的package.json文件中有一个npm任务,如下所示执行笑话测试: 我想使用grunt 执行此任务。我为此安装了grunt-run并添加了run任务,但是如何在其中调用此npm任务呢? 问题答案: 配置与文档中显示的示例类似的示例。 将的值设置为。 设置和在数组中。 Gruntfile.js 跑步 使用上面显示的配置通过CLI 运行将调用该命令。 注意:向Array 添加(或等

  • 我想将这个Spring属性文件用于数据库配置。 代码运行良好,但不幸的是,当删除所有表后数据库为空时,我会收到SQL错误,因为首先执行迁移脚本。 如何先配置 JPA 以创建表,然后再执行迁移脚本?