Я собрал то, что, как я думал, был привет-миром firestore Аутентификация клиента Java, но он постоянно умирает с
ПРЕДУПРЕЖДЕНИЕ: Ваше приложениепрошел проверку подлинности с использованием учетных данных конечного пользователя из Google Cloud SDK.Мы рекомендуем, чтобы большинство серверных приложений использовали учетные записи служб.Если ваше приложение продолжает использовать учетные данные конечного пользователя из Cloud SDK, вы можете получить сообщение об ошибке «Превышена квота» или «API не включен».Для получения дополнительной информации об учетных записях служб см. https://cloud.google.com/docs/authentication/. Учетные данные: ServiceAccountCredentials {clientId = 104986335035620796437, clientEmail=junkbot@nextbot3.iam.gserviceaccount.com, privateKeyId = 8e ... 11, transportFactoryClassName = com.google.auth.oauth2.OAuth2Utils $ DefaultHttpTransportFactory, tokenServerUri = https://oauth2.googleapis.com/token, scopes = [], serviceAccountUser = null} Исключение в потоке "main" java.util.concurrent.ExecutionException: com.google.api.gax.rpc.Unavoable.grpc.StatusRuntimeException: НЕДОСТУПЕН: учетным данным не удалось получить метаданные
«Учетные данные не смогли получить метаданные» не объясняет это - моя учетная запись службы JSON неверна?Почему это все еще дает мне это предупреждение, и они связаны?
val firestoreOptions = FirestoreOptions.getDefaultInstance().toBuilder()
.setProjectId("nextbot3")
.setCredentials(GoogleCredentials.fromStream(ClassLoader.getSystemClassLoader().getResourceAsStream("serviceAccountKey.json")))
.setDatabaseId("nextbot3")
.setTimestampsInSnapshotsEnabled(true)
.build()
println("Credentials: " + firestoreOptions.credentials)
val db = firestoreOptions.service!!
val docRef = db.collection("users").document("a-user").collection("devices").document("a-bot")
println(docRef.set(mapOf("hello" to "world")).get())
мой serviceAccountKey.json прямо из того, что я скачал со страницы администрирования проекта облачного (не firebase):
{
"type": "service_account",
"project_id": "nextbot3",
"private_key_id": "8edf2b2607309e5da929109550090a5818cd8511",
"private_key": "-----BEGIN PRIVATE KEY--...--END PRIVATE KEY-----\n",
"client_email": "junkbot@nextbot3.iam.gserviceaccount.com",
"client_id": "104986335035620796437",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/junkbot%40nextbot3.iam.gserviceaccount.com"
}