Java Firebase-Admin缺少GoogleCredentials

问题描述 投票:0回答:1

我想创建一个可以访问我的Firebase数据库的服务器应用程序。

我遵循了本指南:https://firebase.google.com/docs/admin/setup#initialize_the_sdk

但是我收到以下错误:

无法解析GoogleCredentials

FileInputStream serviceAccount = new 
   FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
   .setCredentials(GoogleCredentials.fromStream(serviceAccount))
   .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
   .build();

FirebaseApp.initializeApp(options);

编辑:

导入以下库后:

  • org.json.jar
  • 网状 - 全4.0.0.final.jar
  • 谷歌-HTTP的客户端1.16.0-rc.jar
  • 谷歌-HTTP的客户端1.16.0-RC-sources.jar
  • 火力管理员-5.9.0.jar
  • 谷歌认证 - 库的oauth2-HTTP-0.9.0.jar
  • 谷歌认证 - 库凭证,0.9.0.jar
  • 谷歌的API客户端,1.23.0.jar
  • 谷歌的API客户端-1.4.1-beta.jar
  • 番石榴-24.0-jre.jar
  • 谷歌-HTTP客户端,jackson2-1.23.0.jar
  • 杰克逊核心2.9.4.jar
  • SLF4J-火1.7.25.jar
  • Sulph 1J-Z:1-5.1.25
  • API-共1.3.9.jar

我陷入了这个错误:

2018年2月27日下午2:15:33 com.google.firebase.database.logging.LogWrapper错误SCHWERWIEGEND:Firebase数据库runloop(5.9.0)中未捕获的异常。请在com.google.firebase.database.connection上向[email protected]报告java.lang.NoSuchMethodError:io.netty.channel.nio.NioEventLoopGroup。(ILjava / util / concurrent / Executor;)V。 NettyWebSocketClient。(NettyWebSocketClient.java:71)位于com.google.firebase.database.connection.WebsocketConnection $ DefaultWSClientFactory.newClient(WebsocketConnection.java:435)com.google.firebase.database.connection.WebsocketConnection。(WebsocketConnection.java: 80)com.google.fire.VP中的com.google.firebase.database.connection.WebsocketConnection。(WebsocketConnection.java:68)com.google上的com.google.firebase.database.connection.Connection $ DefaultWebsocketConnectionFactory.newConnection(Connection.java:297)。 firebase.database.connection.Connection。(Connection.java:72)位于com.google.firebase.database.connection.Connection。(Connection.java:57)com.google.firebase.database.connection.PersistentConnectionImpl $ DefaultConnectionFactory。 com.google.fireba中的newConnection(PersistentConnectionImpl.java:1303) se.database.connection.PersistentConnectionImpl.openNetworkConnection(PersistentConnectionImpl.java:547)位于com.google.firebase.database.connection.PersistentConnectionImpl的com.google.firebase.database.connection.PersistentConnectionImpl.access $ 800(PersistentConnectionImpl.java:37) com.google.firebase.database.core.Context $ 1 $ 1.onSuccess(PersistentConnectionImpl.java:500)com.google.firebase.database.core.JvmAuthTokenProvider.getToken(JvmAuthTokenProvider)$ 1 $ 1.onSuccess(Context.java:67) .java:66)com.google.firebase.database.core.Context $ 1.getToken(Context.java:62)at com.google.firebase.database.connection.PersistentConnectionImpl $ 1.run(PersistentConnectionImpl.java:490)at at来自java.util.concurrent.Executors的com.google.firebase.database.connection.util.RetryHelper $ 1.run(RetryHelper.java:93)$ java.util.concurrent.FutureTask中的$ RunnableAdapter.call(Executors.java:511) .run(FutureTask.java:266)at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201(Sched uledThreadPoolExecutor.java:180)java.util.concurrent.ThreadPoolExecutor的java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor java.lang.Thread.run上的$ Worker.run(ThreadPoolExecutor.java:617)(Thread.java:745)

java firebase authentication credentials firebase-admin
1个回答
0
投票

你需要Netty 4.1.x.我建议依赖于4.1.17.Final这是Admin SDK所依赖的。您的依赖管理工具(Maven,Gradle等)应该为您处理此问题。

© www.soinside.com 2019 - 2024. All rights reserved.