通过关注Java Quickstart example,我可以创建一个新的Google App Script项目并检索scriptId。此外,通过引用Restful API document,脚本应该能够使用Method: scripts.run
执行。但是,我不知道如何使用Java中的com.google.api.services.script.Script
检索返回值。
我试过了:
Script scriptService = getScriptService();
Script.Scripts scripts = scriptService.scripts();
Script.Scripts.Run run = scripts.run(scriptId, request);
并反编译run
函数:
public Script.Scripts.Run run(String var1, ExecutionRequest var2) throws IOException {
Script.Scripts.Run var3 = new Script.Scripts.Run(var1, var2);
Script.this.initialize(var3);
return var3;
}
该函数不会返回我正在寻找的ExecutionResponse
对象。
答案 0 :(得分:1)
根据REST API文档,调用script.run
不会立即返回ExecutionResponse
对象,而是包含 ExecutionResponse的Operation
对象:
{
"done": boolean,
// Union field result can be only one of the following:
"error": {
object(Status)
},
"response": object(ExecutionResponse)
,
// End of list of possible types for union field result.
}
如果我们查看Java API Client library,我们会看到方法Script.Script.run
接受脚本ID和ExecutionRequest的参数,然后返回必须为{{1的Script.Script.Run请求}} d:
创建方法请求" scripts.run"。此请求包含脚本服务器所需的参数。设置任何可选参数后,调用
.execute()
方法以调用远程操作。
引用文档引用的请求为Script.Script.Run
,并且有AbstractGoogleClientRequest.execute()
等方法用于其他配置,以及一些执行方法,如.setAccessToken()
和.execute()
来实际提交执行请求并返回操作。