如何获取GoogleCredential android firebase?

时间:2019-02-19 19:38:03

标签: android firebase firebase-cloud-messaging android-notifications google-api-client

我正在尝试实现无服务器聊天应用程序,因此当我向用户发送消息时,如果他没有打开应用程序,则需要向该用户发送通知

如firebase文档所说的https://firebase.google.com/docs/cloud-messaging/migrate-v1

我们首先应生成私钥并获取访问令牌,因此我获取私钥并将其保存在我的下载文件夹中,并按照建议将我添加到环境变量中,如下所示export GOOGLE_APPLICATION_CREDENTIALS="/home/karem/Downloads/service-account-file.json",而karem是我的用户名

但是当我尝试获取访问令牌时,出现以下错误 java.io.FileNotFoundException: service-account.json (No such file or directory)

我的代码

private val MESSAGING_SCOPE = "https://www.googleapis.com/auth/firebase.messaging"
private val SCOPES = arrayOf(MESSAGING_SCOPE)

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        FirebaseApp.initializeApp(this)
        getAccessToken()
    }

    private fun getAccessToken(): String {
        val googleCredential = GoogleCredential
            .fromStream(FileInputStream("service-account.json"))
            .createScoped(Arrays.asList(*SCOPES))
        googleCredential.refreshToken()
        return googleCredential.getAccessToken()
    }
}

该文件直到可以下载为止,但我说它没找到

我的代码也作为此资源 https://github.com/firebase/quickstart-java/blob/0dec937756dc72c7350e782f73f79a63233bb9a2/messaging/src/main/java/com/google/firebase/quickstart/Messaging.java

0 个答案:

没有答案