Как получить GoogleCredential android firebase? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь реализовать приложение чата без сервера, поэтому, когда я отправляю сообщение пользователю, мне нужно отправить уведомление этому пользователю, если он не откроет приложение

, так как Firebase Doc скажет 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

...