字符串到FileInputSteam


FileInputStream serviceAccount =
new FileInputStream("push-manager-app/src/main/resources/serviceAccountKey.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("https://test1-use.firebaseio.com")
.build();
FirebaseApp.initializeApp(options);

Firebase连接器的上述代码工作正常。但在openshift环境中,我不能在资源中提交serviceAccountKey.json,因为不同的环境会有所不同。我可以在每个环境中从openshift配置映射中获得它作为String

为了运行这个代码块,我需要在FileInputStream中转换String。我不知道该怎么做。我有一个变通方法,可以读取String,生成文件并使用它。但我想用正确的方法。我检查了FirebaseAPI的其他选项,但它甚至不能处理InputStream

String json = "xxxxxx";
InputStream stream = new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8));
private static InputStream getFile() {
return FireBaseService.class.getResourceAsStream("/dataCred.json");
}
private static final String DATABASE_URL = "DATABASE_URL";
public static void initiainzeSDK() {

try {
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(getFile()))
.setDatabaseUrl(DATABASE_URL)
.build();
FirebaseApp.initializeApp(options);
// Initialize the default app
} catch (IOException e) {
System.out.println(e.getMessage());
}
}

确保你的json文件没有错误的语法

相关内容

  • 没有找到相关文章

最新更新