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

Posted

技术标签:

【中文标题】如何使用 Google Apps 脚本执行 API + Java 创建 Google 表单?【英文标题】:How to create a Google Form using Google Apps Script Execution API + Java? 【发布时间】:2016-04-29 20:10:52 【问题描述】:

我尝试了一个简单的 Java 命令行应用程序,它向 Google Apps Script Execution API 发出请求。像这样的东西:https://developers.google.com/apps-script/guides/rest/quickstart/java#prerequisites。但它不起作用。

Google Apps 脚本编辑器:

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)

【问题讨论】:

如果您不向我们展示 Java 代码,我们将无能为力。还请告诉我们您如何配置脚本以执行 api。 【参考方案1】:

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

令牌到期、令牌撤销、令牌未授权用于所需范围、请求未通过OAuth 2.0 protocol 正确授权。您也可以查看Forms Service 了解有关表单服务的更多信息

这里有一个相关的401问题:未经授权:Google apps script and execution API: latest version of script throws error

【讨论】:

【参考方案2】:

似乎您必须事先授权范围。 也许它可以帮助你: Manual authorization scopes for Sheets, Docs, and Forms

【讨论】:

以上是关于如何使用 Google Apps 脚本执行 API + Java 创建 Google 表单?的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Apps 脚本中使用 Mandrill API

Google Apps 脚本中的 PayPal REST API 错误 400

如何在 Google Apps 脚本中使用 UrlFetchApp 发出 Drive API 批处理请求

Plotly API 使用 Google Apps 脚本

在 Google Apps 脚本中使用完整的 Google Maps V3 API 及其所有功能

如何在 Google Apps 脚本中向 UrlFetchApp 添加 API 密钥