Это нельзя сделать напрямую, поскольку логин Firebase и Google не совпадают, даже если вы вошли в Firebase с помощью аккаунта Google. На Android один пока что имеет только «последний зарегистрированный аккаунт Google», доступный для диска пользователя (тот, что на устройстве, который не имеет ничего общего с Аутентификацией Firebase, где Google может использоваться только как «Поставщик аутентификации»).
Таким образом, вам обычно доступны две опции:
Предоставление учетной записи службы GCP доступа к Drive API и используйте Облачные функции для доступа к нему.
Вместо этого используйте Облачное хранилище , которое находится в экосистеме Firebase и аналогично Drive.
Я мог бы также подумать о комбинированном подходе к решению, при котором пользователи будут использовать облачное хранилище (вместе с аутентификацией Firebase) и облачной функции, которая использует учетную запись службы, которая, например, , копирует или перемещает загруженные файлы в папку вашего диска.
Что касается (очевидно серверной) Java примера, credentials.json
явно намекает на служебную учетную запись ... и именно здесь вы можете получить этот файл. Однако для Android это довольно бесполезно - поскольку оно имеет серьезные последствия для безопасности: упаковывать учетные данные учетной записи службы в простой для декомпиляции пакет и распространять его в WWW (для всех). Google Play Store, скорее всего, не позволит вам опубликовать sh или даже загрузить его, потому что существуют проверки безопасности. В лучшем случае вы можете развернуть этот код только как модуль App Engine, но не как модуль Android.
Извините, что уничтожил ваши заблуждения и не смог предоставить готовое решение для 500 мнимых inte rnet баллов, которые ничего не платят - но, по крайней мере, я могу сказать, что технически возможно, а что нет - что может эффективно сэкономить вам много времени, пытаясь достичь sh невозможного.