我想使用google 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”。 我检查了我的用法并确保我没有通过配额()。 此外,在控制台中启用了Google翻译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')
它确实翻译....但它没有检测到语言
答案 0 :(得分:3)
发生的事情是您没有针对API进行身份验证,因此您已经达到了匿名API调用的宽限制。 API密钥支持已经减少了对服务帐户凭证的偏爱。
创建并下载您的服务帐户凭据,并按the sample application。
中所述使用这些凭据进行身份验证