gpt4 book ai didi

java - 我的 Google App Engine 项目中的文件访问被拒绝

转载 作者:行者123 更新时间:2023-11-30 07:20:03 25 4
gpt4 key购买 nike

我正在 Android Studio 中使用 Google App Engine 开发应用程序后端。我想使用 Firebase,因此它的 SDK 初始化的一部分是读取服务帐户凭据 JSON 文件。我将该文件添加到我的“src”目录中,并尝试像在 Firebase 文档中一样读取它:

FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(new FileInputStream("/src/serviceAccountCredentials.json"))
.setDatabaseUrl("https://databaseName.firebaseio.com/")
.build();

但它总是抛出异常,拒绝访问文件:

java.security.AccessControlException: 
access denied ("java.io.FilePermission" "/src/serviceAccountCredentials.json" "read")

如何更改此文件的读取权限?谢谢:)

最佳答案

您位于源目录中,因此编译后它应该位于类补丁的根目录中。但请确保它在那里,它实际上取决于构建工具,其中一些可以忽略 src 目录中的非源文件,因为此类文件应该位于 resources 目录中。如果是您的情况,请将文件移动到资源目录。

然后,要读取此文件,您必须将其用作资源:

InputStream cred = this.getClass()
.getResourceAsStream("/serviceAccountCredentials.json");

FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(cred)
.setDatabaseUrl("https://databaseName.firebaseio.com/")
.build();

关于java - 我的 Google App Engine 项目中的文件访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37746607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com