如何通过谷歌翻译api在python中使用api键

Posted

技术标签:

【中文标题】如何通过谷歌翻译api在python中使用api键【英文标题】:How to use an api key in python with google translation api 【发布时间】:2017-11-06 19:52:51 【问题描述】:

我在谷歌文档中阅读了几个小时,但我仍然不知道我在做什么。 我基本上只是想使用谷歌翻译api来翻译我想到的几个单词。 我有一个包含帐单详细信息的有效帐户,我尝试了来自 google 的以下代码示例:


# Imports the Google Cloud client library
from google.cloud import translate

# Instantiates a client
translate_client = translate.Client()

# The text to translate
text = u'Hello, world!'
# The target language
target = 'ru'

# Translates some text into Russian
translation = translate_client.translate(
    text,
    target_language=target)

print(u'Text: '.format(text))
print(u'Translation: '.format(translation['translatedText']))

但它给了我这个错误:https://translation.googleapis.com/language/translate/v2?target=ru&q=Hello%2C+world%21 所以我不知道如何在 Python 中包含我的 API 密钥,谁能在这里给我一个快速的帮助,我的脑袋快炸了,我想我安装了很多我不需要的东西,比如谷歌云 SDK用于 Python 的 Shell 和 OAuth 库。 干杯

【问题讨论】:

【参考方案1】:

现在翻译客户端被调用:

client = translate.TranslationServiceClient()

您可以使用google的示例代码:

from google.cloud import translate


def translate_text(text="YOUR_TEXT_TO_TRANSLATE", project_id="YOUR_PROJECT_ID"):
    """Translating Text."""

    client = translate.TranslationServiceClient()

    parent = client.location_path(project_id, "global")

    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.translate_text(
        parent=parent,
        contents=[text],
        mime_type="text/plain",  # mime types: text/plain, text/html
        source_language_code="en-US",
        target_language_code="fr",
    )
    # Display the translation for each input text provided
    for translation in response.translations:
        print(u"Translated text: ".format(translation.translated_text))

请记住将 project_id 更改为您的实际名称。

【讨论】:

如何通过api key使用?【参考方案2】:

您需要设置一个环境变量 GOOGLE_APPLICATION_CREDENTIALS 并使用 api 密钥的 json 文件的路径,如此处所述https://cloud.google.com/translate/docs/setup?hl=en 或在您的代码中设置它https://cloud.google.com/docs/authentication/production#passing_code

【讨论】:

以上是关于如何通过谷歌翻译api在python中使用api键的主要内容,如果未能解决你的问题,请参考以下文章

谷歌翻译 API 构造函数

python 有道,腾讯,谷歌,百度四大翻译API聚合接口[蟒实现]

Android 谷歌翻译 API

为 Java 谷歌翻译设置 API_Key

如何传播通过 gdata python api 创建的谷歌日历事件的提醒?

如果我们在使用谷歌翻译 API 时删除“由谷歌提供支持”,是不是违反谷歌的 T&C?