How do I connect a script application to the Google Cloud Platform?
I found how to do it manually.
But how to do it programmatically?
File file3 = new File()
.setName("appsscript")
.setType("JSON")
.setSource("{\n"
+ " \"timeZone\": \""+TimeZone.getDefault().toZoneId().toString()+"\",\n"
+ " \"dependencies\": {},\n"
+ " \"exceptionLogging\": \"STACKDRIVER\",\n"
+ " \"executionApi\": {\n"
+ " \"access\": \"ANYONE\"\n"
+ " } }");
Content content = new Content().setFiles(Arrays.asList(file1, file2, file3));
script.projects().updateContent(project.getScriptId(), content).execute();
Version version = new Version();
version.setVersionNumber(1);
Version versions = script.projects().versions().create(project.getScriptId(), version).execute();
DeploymentConfig deploymentConfig = new DeploymentConfig();
deploymentConfig.setManifestFileName("appsscript");
deploymentConfig.setVersionNumber(versions.getVersionNumber());
Deployment deployment = script.projects().deployments().create(project.getScriptId(), deploymentConfig).execute();
Operation op = script.scripts().run(deployment.getDeploymentConfig().getScriptId(), request).execute();
when executing this code, I get:
POST https://script.googleapis.com/v1/scripts/xxxx:run
{
"code": 403,
"errors": [
{
"domain": "global",
"message": "The caller does not have permission",
"reason": "forbidden"
}
],
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}