java Sping Boot firebase admin sdk安装程序-无法解析符号

xn1cxnb4  于 2023-03-21  发布在  Java
关注(0)|答案(3)|浏览(155)

我正在使用这个指南来初始化我的spring-boot java应用程序上的firebase admin sdk:https://firebase.google.com/docs/admin/setup
我已经包含了正确的maven依赖项

<dependency>
    <groupId>com.google.firebase</groupId>
    <artifactId>firebase-admin</artifactId>
    <version>5.9.0</version>
</dependency>

我试图使用他们提供的代码片段进行初始化,但是当我导入firebase库时,没有一个符号(firebase,auth,FirebaseOptions,GoogleCredentials,FirebaseApp)被解析。

import java.io.FileInputStream;
import com.google.firebase.*;
import com.google.auth.oauth2.GoogleCredentials;

import org.springframework.context.annotation.Configuration;

@Configuration
public class FirebaseAdminConfig {
    FileInputStream serviceAccount = new 
FileInputStream("path/to/firebase/credentials/");
    FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            .setDatabaseUrl("link to database")
            .build();
FirebaseApp.initializeApp(options);
}

我是否缺少导入语句?是否需要一些额外的配置?

uujelgoq

uujelgoq1#

在您的FirebaseAdminConfig类中,您已经直接粘贴了该片段。您需要先创建一个方法,否则会出现编译错误。

@Configuration
public class FireBaseConfig{
@Bean
    FirebaseApp createFireBaseApp() throws IOException {
    FileInputStream serviceAccount =
            new FileInputStream("pathtojson.json");

    FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            .setDatabaseUrl("url")
            .build();

  return  FirebaseApp.initializeApp(options);
}

}
yfjy0ee7

yfjy0ee72#

你也可以在应用程序的主类中进行

public static void main(String[] args) throws IOException {
    FileInputStream serviceAccount = new FileInputStream("src/main/resources/credential.json");
    @SuppressWarnings("deprecation")
    FirebaseOptions options = new FirebaseOptions.Builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            .build();
    FirebaseApp.initializeApp(options);
    SpringApplication.run(MarketingDashboardApplication.class, args);
}
bnlyeluc

bnlyeluc3#

对于那些发现依赖关系没有解决的人,尽管遵循这里的所有答案,通过试验和错误为firebase-admin找出正确的版本可能值得一试-它对我有效。
例如,我使用Springboot 2.7.9和JDK 11,并尝试了各种版本的firebase-admin,但没有任何运气,直到我发现使用7.2.0解决了这个问题。

相关问题