任务API不适用于大于1.12.0的google-http-client版本



我正在使用Google Tasks API和Gogole Adwords API。。。。要使用Adwords API,我必须使用最新的google-http-client jar。。。但当我使用最新的jar时,Tasks API似乎不起作用。这是我用于任务的代码

      HttpTransport httpTransport = new NetHttpTransport();
      JacksonFactory jsonFactory = new JacksonFactory();
      OAuthHmacSigner signer = new OAuthHmacSigner();
      signer.clientSharedSecret = consumerSecret;
      GoogleOAuthDomainWideDelegation initializer = new GoogleOAuthDomainWideDelegation();
      initializer.requestorId = "jags@solutiontest.com"; // email of the user, basically the xoauth_requestor_id URL param
      OAuthParameters parameters = new OAuthParameters();
      parameters.consumerKey=consumerKey;
      parameters.version = "1";
      parameters.signer = signer;
      initializer.parameters = parameters;
      Tasks service = Tasks.builder(httpTransport, jsonFactory).setHttpRequestInitializer(initializer).build();
      Tasklists.List listTask = service.tasklists().list();
      TaskLists taskLists = listTask.execute();

以下是错误的完整堆栈

java.lang.NoSuchMethodError:com.google.api.client.HttpRequest.setAllowEmptyContent(Z)Lcom/google/api/client/HttpRequest;网址:com.google.api.client.googleapis.services.GoogleClient.buildHttpRequest(GoogleClient.java:171)网址:com.google.api.client.http.json.JsonHttpRequest.buildHttpRequest(JsonHttpRequest.java:179)网址:com.google.api.client.http.json.JsonHttpRequest.executeUnparsed(JsonHttpRequest.java:207)在com.google.api.services.tasks.tasks$Tasklists$List.execute(tasks.java:1731)

为了同时使用Google任务和Google Adwords API,我应该做些什么?任何指点都将不胜感激。。

TIA,
VijayRaj

此问题与任务API无关。幸运的是,这是一个简单的解决方案。您尝试调用的方法setAllowEmptyContent在1.11版本中已被弃用,并在1.12版本中被删除。您得到的是NoSuchMethodError,因为在您使用的客户端库jar中根本不存在方法

根据1.11版本中关于该方法的javadoc,请使用以下内容:

setContent(new EmptyContent())

以下是1.11版本中该方法的源代码和javadoc。您可以在那里看到相关的弃用警告。

相关内容

  • 没有找到相关文章

最新更新