如何从Javaservlet运行部署为web应用的google应用脚本?

如何从Javaservlet运行部署为web应用的google应用脚本?,java,servlets,google-apps-script,google-apps,Java,Servlets,Google Apps Script,Google Apps,我创建了一个GAS并将其部署为googleweb应用程序。 它可以通过URL访问。 现在我想从Javaservlet运行它。 我在console.developers.google.com中创建了应用程序,为服务帐户和API密钥和私钥文件创建了客户端ID 现在,我尝试按如下方式运行脚本: HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JsonFactory jsonFacto

我创建了一个GAS并将其部署为googleweb应用程序。 它可以通过URL访问。 现在我想从Javaservlet运行它。 我在console.developers.google.com中创建了应用程序,为服务帐户和API密钥和私钥文件创建了客户端ID

现在,我尝试按如下方式运行脚本:

    HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
    JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
    // Build service account credential.
    GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
        .setJsonFactory(jsonFactory)
        .setServiceAccountId("...@developer.gserviceaccount.com")
        .setServiceAccountScopes(Collections.singleton("https://script.google.com"))
        .setServiceAccountPrivateKeyFromP12File(new File(getClass().getClassLoader().getResource("key/eForms-055a7029cd36.p12").toURI()).getAbsoluteFile())
        .build();

            // Set up and execute a Google Cloud Storage request.
    String URI = "https://script.google.com/macros/s/.../exec?payload="+form.toString();
    HttpRequestFactory requestFactory = httpTransport.createRequestFactory(credential);
    GenericUrl url = new GenericUrl(URI);
    HttpRequest http_request = requestFactory.buildGetRequest(url);
    HttpResponse response = http_request.execute();
    String content = response.parseAsString();
我得到

com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{
  "error" : "invalid_grant"
}
我想我定错了位置,但该定哪一个呢