Аутентификация в Google Doc Translate APIPython

Программы на Python
Ответить
Anonymous
 Аутентификация в Google Doc Translate API

Сообщение Anonymous »

Я с трудом пытаюсь пройти аутентификацию в Google Document Translation API. Этот API не принимает ключ API. Как ни странно, похоже, вам необходимо указать путь к файлу json в виде строки в os.environ["GOOGLE_APPLICATION_CREDENTIALS"]. У меня есть файл json из моей корпоративной учетной записи, но мне кажется очень небезопасным хранить кучу секретов в файле рядом с моим кодом. Поэтому я попытался найти другие способы аутентификации. Одним из способов, который я видел в комментарии к переполнению стека, был такой подход. По сути, вы берете каждый из секретов в файле .json, загружаете его как секрет обычным способом обработки секретов, затем упаковываете их в словарь и сохраняете в переменной, называемой учетными данными. Когда я запускаю это, он говорит: «google.auth.Exceptions.DefaultCredentialsError: ваши учетные данные по умолчанию не найдены».
Есть ли какой-то шаг, который я здесь пропустил? Нужно ли мне каким-то образом передать переменную «credentials» чему-то другому?
Я знаю, что не могу просто передать переменную «credentials» в os.environ['GOOGLE_APPLICATION_CREDENTIALS'], потому что это будет только принять путь к файлу, структурированный в виде строки.
Будем благодарны за любую помощь.
project_id = REDACTED
file_path = REDACTED
target_language = 'en'

my_google_credentials = {
"type": os.environ.get('TYPE'),
"project_id": os.environ.get('PROJECT_ID'),
"private_key_id": os.environ.get('PRIVATE_KEY_ID'),
"private_key": os.environ.get['private_key'],
"universe_domain": os.environ.get('UNIVERSE_DOMAIN'),
"token_uri": os.environ.get('TOKEN_URI'),
"client_email": os.environ.get('CLIENT_EMAIL'),
"client_id": os.environ.get('CLIENT_ID'),
"auth_uri": os.environ.get('AUTH_URI'),
"auth_provider_x509_cert_url": os.environ.get('AUTH_PROVIDER_x509_CERT_URL'),
"client_x509_cert_url": os.environ.get('CLIENT_x509_CERT_URL')
}

credentials = service_account.Credentials.from_service_account_info(my_google_credentials)
#scoped_credentials = credentials.with_scopes(['https://www.googleapis.com/auth/cloud-platform'])

response = translate_document(project_id, file_path, target_language)
print("Translation completed.")



Подробнее здесь: https://stackoverflow.com/questions/791 ... nslate-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»