Я создаю веб-сервис в nodejs, используя ключ API службы Google, и на этапе разработки я поместил файл локально и протестировал его следующим образом ... все было в порядке.
Теперь мне нужно развернуть в firebase, и я должен сделать невидимым файл конфигурации. У вас есть опыт, как сделать это, используя файл .env?
Файл конфигурации выглядит так:
{
"type": "service_account",
"project_id": "xxxx-eeee",
"private_key_id": "xxxw342234",
"private_key": "-----BEGIN PRIVATE KEY-----client_id": "xxxxxxxxxxxx",
"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/xxxxxxxxxxxxxxxx.iam.gserviceaccount.com"
}
Теперь я обращаюсь к файлу, используя этот код:
const translate = new Translate(
{
projectId: 'my-project-0o0o0o0o'
keyFilename: './my-project.json
}
);
Кто может помочь мне с шагами, которые мне нужны для доступа к этому файлу без публикации учетных данных в github, а затем в firebase
ОБНОВЛЕНО 13.02.2020
я создал файл .env для хранения там мои учетные данные, как это:
SEPA_TRANSLATE_PROJECT_ID="4354-4545"
SEPA_TRANSLATE_GOOGLE_API_KEY_TYPE="service_account"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_PRIVATE_KEY_ID="43434"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nMM=\n-----END PRIVATE KEY-----\n"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_CLIENT_EMAIL="googletranslateaaaaapi@aaaaa-aaaa.iam.gserviceaccount.com"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_CLIENT_ID="34234"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_AUTH_URI="https://accounts.google.com/o/oauth2/auth"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_TOKEN_URI="https://oauth2.googleapis.com/token"
SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_AUTH_PROVIDER_X509_CERT_URL="https://www.googleapis.com/oauth2/v1/certs"
SEPA_TRANSLATE_GOOGLE_SERVICE_CLIENT_X509_CERT_URL="https://www.googleapis.com/robot/v1/metadata/x509/googletranslatewerwer%erwerwre-werwr.iam.gserviceaccount.com"
теперь файл my-project. json файл выглядит так:
{
"type": process.env.SEPA_TRANSLATE_GOOGLE_API_KEY_TYPE,
"project_id": process.env.SEPA_TRANSLATE_PROJECT_ID,
"private_key_id": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_PRIVATE_KEY_ID,
"private_key": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_PRIVATE_KEY
"client_email": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_CLIENT_EMAIL,
"client_id": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_CLIENT_ID,
"auth_uri": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_AUTH_URI,
"token_uri": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_TOKEN_URI,
"auth_provider_x509_cert_url":process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_KEY_AUTH_PROVIDER_X509_CERT_URL,
"client_x509_cert_url": process.env.SEPA_TRANSLATE_GOOGLE_SERVICE_CLIENT_X509_CERT_URL
}
это json называется:
const translate = new Translate(
{
projectId: 'my-project-0o0o0o0o'
keyFilename: './my-project.json
}
);
когда я тестировал свой API, я получил это сообщение об ошибке: ошибка перевода текста: SyntaxError: неожиданный токен p в JSON в позиции 13