0

我想使用谷歌 API 检测文本的语言(而不是翻译)。这不需要身份验证,我也不需要密钥。代码很简单:

from google.cloud import translate
def detect_language(text):
    """Detects the text's language."""
    translate_client = translate.Client()
    result = translate_client.detect_language(text)

    print('Text: {}'.format(text))
    print('Confidence: {}'.format(result['confidence']))
    print('Language: {}'.format(result['language']))

print detect_language('My name is Maria')

但是会弹出错误“google.cloud.exceptions.Forbidden: 403 Daily Limit Exceeded”。我检查了我的使用情况,并确保我没有通过配额 ()。此外,在控制台中启用了谷歌翻译 API。

任何线索这个错误来自哪里?

在另一次尝试中,我用一个键尝试了这段代码:

from google.cloud import translate
from googleapiclient.discovery import build

API_KEY = 'MY_KEY_COMES_HERE'

API = 'translate'

service = build(API, 'v2', developerKey=API_KEY)
print(service.translations().list(source='en', target='fr', q=['flower', 'car']).execute())

def detect_language(text):
    """Detects the text's language."""
    translate_client = translate.Client()
    result = translate_client.detect_language(text)

    print('Text: {}'.format(text))
    print('Confidence: {}'.format(result['confidence']))
    print('Language: {}'.format(result['language']))
print detect_language('My name is Maria')

它确实翻译....但它没有检测到语言

4

1 回答 1

3

发生的情况是您未针对 API 进行身份验证,因此您达到了匿名 API 调用的宽限限制。API 密钥支持减少了对服务帐户凭据的青睐。

创建并下载您的服务帐户凭据,并使用这些凭据进行身份验证,如示例应用程序中所述

于 2017-02-17T18:45:33.487 回答