- java/
- Java Firebase管理员缺少Google凭据
Java Firebase管理员缺少Google凭据
Java Firebase管理员缺少Google凭据,java,firebase,authentication,credentials,firebase-admin,Java,Firebase,Authentication,Credentials,Firebase Admin,我想创建一个可以访问Firebase数据库的服务器应用程序
我遵循了这个指南:
但我得到了以下错误:
无法解析Google凭据
FileInputStream服务帐户=新建
FileInputStream(“path/to/serviceAccountKey.json”);
FirebaseOptions=newfirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setD
我想创建一个可以访问Firebase数据库的服务器应用程序
我遵循了这个指南:
但我得到了以下错误:
无法解析Google凭据
FileInputStream服务帐户=新建
FileInputStream(“path/to/serviceAccountKey.json”);
FirebaseOptions=newfirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl(“https://.firebaseio.com/")
.build();
FirebaseApp.initializeApp(选项);
编辑:
导入以下库后:
- org.json.jar
- netty-all-4.0.0.final.jar
- google-http-client-1.16.0-rc.jar
- google-http-client-1.16.0-rc-sources.jar
- firebase-admin-5.9.0.jar
- google-auth-library-oauth2-http-0.9.0.jar
- google-auth-library-credentials-0.9.0.jar
- google-api-client-1.23.0.jar
- google-api-client-1.4.1-beta.jar
- 番石榴-24.0-jre.jar
- google-http-client-jackson2-1.23.0.jar
- jackson-core-2.9.4.jar
- slf4j-api-1.7.25.jar
- slf4j-jdk14-1.7.25.jar
- api-common-1.3.9.jar
我被这个错误卡住了:
2018年2月27日下午2:15:33 com.google.firebase.database.logging.LogWrapper错误
SCHWERWIEGEND:Firebase数据库runloop(5.9.0)中的未捕获异常。请向firebase数据库报告-client@google.com
java.lang.NoSuchMethodError:io.netty.channel.nio.NioEventLoopGroup。(ILjava/util/concurrent/Executor;)V
位于com.google.firebase.database.connection.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.firebase.database.connection.WebsocketConnection.(WebsocketConnection.java:68)
位于com.google.firebase.database.connection.connection$DefaultWebsocketConnectionFactory.newConnection(connection.java:297)
位于com.google.firebase.database.connection.connection.(connection.java:72)
位于com.google.firebase.database.connection.connection.(connection.java:57)
位于com.google.firebase.database.connection.PersistentConnectionImpl$DefaultConnectionFactory.newConnection(PersistentConnectionImpl.java:1303)
位于com.google.firebase.database.connection.PersistentConnectionImpl.openNetworkConnection(PersistentConnectionImpl.java:547)
位于com.google.firebase.database.connection.PersistentConnectionImpl.access$800(PersistentConnectionImpl.java:37)
位于com.google.firebase.database.connection.PersistentConnectionImpl$1$1.onSuccess(PersistentConnectionImpl.java:500)
位于com.google.firebase.database.core.Context$1$1.onSuccess(Context.java:67)
位于com.google.firebase.database.core.JvmAuthTokenProvider.getToken(JvmAuthTokenProvider.java:66)
位于com.google.firebase.database.core.Context$1.getToken(Context.java:62)
位于com.google.firebase.database.connection.PersistentConnectionImpl$1.run(PersistentConnectionImpl.java:490)
位于com.google.firebase.database.connection.util.RetryHelper$1.run(RetryHelper.java:93)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
你需要Netty 4.1.x。我建议依赖于管理SDK所依赖的4.1.17.Final
。您的依赖关系管理工具(Maven、Gradle等)应该可以为您处理此问题。请提供您得到的确切错误。将其粘贴到此处。确保导入正确:import com.google.auth.oauth2.GoogleCredentials代码>谢谢,将netty-all-4.0.0.final.jar更改为netty-all-4.1.17.final.jar解决了上一个错误,现在可以工作了。
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);