2015-01-13 2 views
0

Я пытаюсь создать объект учетных данных google, чтобы я мог использовать google plus Oauth, но продолжаю получать ошибку. Мой идентификатор клиента и клиентский секрет точно указаны на моей консоли разработчика, поэтому я не думаю, что это так.googlecredential no такой метод error

Мой код:

GoogleCredential credential = new GoogleCredential.Builder() 
     .setJsonFactory(JSON_FACTORY).setTransport(TRANSPORT) 
     .setClientSecrets(CLIENT_ID, CLIENT_SECRET).build(); 

Здесь ошибка я получаю:

SEVERE: Servlet.service() for servlet [ConnectServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause 
java.lang.NoSuchMethodError: com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.getRefreshListeners()Ljava/util/List; 
    at com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.build(GoogleCredential.java:394) 
    at com.google.gplus.ConnectServlet.doPost(ConnectServlet.java:128) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) 
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Unknown Source) 

А вот соответствующие банки я использую:

<dependency> 
      <groupId>com.google.apis</groupId> 
      <artifactId>google-api-services-plus</artifactId> 
      <version>v1-rev64-1.13.2-beta</version> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>1.14.8</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.http-client</groupId> 
      <artifactId>google-http-client-jackson</artifactId> 
      <version>1.19.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.oauth-client</groupId> 
      <artifactId>google-oauth-client</artifactId> 
      <version>1.19.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.apis</groupId> 
      <artifactId>google-api-services-oauth2</artifactId> 
      <version>v2-rev50-1.17.0-rc</version> 
     </dependency> 

Любой вход был бы очень признателен. Я искал ее и не видел ничего подобного.

+0

Вы используете Proguard? – tomrozb

ответ

3

Это потому, что вы смешиваете клиентов veriions

<dependency> 
      <groupId>com.google.oauth-client</groupId> 
      <artifactId>google-oauth-client</artifactId> 
      <version>**1.19.0**</version> 
    </dependency> 

    <dependency> 
      <groupId>com.google.apis</groupId> 
      <artifactId>google-api-services-oauth2</artifactId> 
      <version>**v2-rev50-1.17.0-rc**</version> 
    </dependency> 

использовать ту же версию для всех клиентских библиотек Google.

+0

Спасибо! Это сделал трюк. :) – Mark