2017-02-21 10 views
1

вызова API и получить ошибку нужно перевести с английского на Францию, но получаю эту ошибку, так что я использовал этот код, но он не работает должным образомплохая ошибка запроса 400 Google API для перевода питона

код:

from __future__ import print_function 

__author__ = '[email protected] (Joe Gregorio)' 

from googleapiclient.discovery import build 


def main(): 

    service = build('translate', 'v2', 
      developerKey='AIzaSyDRRpR3GS1F1_jKNNM9HCNd2wJQyPG3oN0') 
    print(service.translations().list(
     source='en', 
     target='fr', 
    q="flower" 
    ).execute()) 

if __name__ == '__main__': 
    main() 

Ошибка

Traceback (most recent call last): 
    File "trail.py", line 19, in <module> 
    main() 
    File "trail.py", line 15, in main 
    q="flower" 
    File "build/bdist.linux-i686/egg/oauth2client/_helpers.py", line 133, in positional_wrapper 
    File "build/bdist.linux-i686/egg/googleapiclient/http.py", line 840, in execute 
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/language/translate/v2?q=flower&source=en&alt=json&target=fr&key=AIzaSyDRRpR3GS1F1_jKNNM9HCNd2wJQyPG3oN0 returned "Bad Request"> 

ответ

0

Используйте новую клиентскую библиотеку Google Cloud и авторизации API, используя учетные данные учетной записи службы JSON и вызов export GOOGLE_APPLICATION_CREDENTIALS=your_service.json вместо использования ключа API. Вы также можете использовать учетные данные приложения по умолчанию, вызывая gcloud auth application-default login.

Это показано в Google Cloud Translate Python samples, которое также поможет вам начать работу быстрее.

Примечание. Для перевода API требуется биллинг, например described in the translate quickstart instructions, поэтому будьте готовы установить его для своего проекта.

+0

он просит разрешить выставление счета –

+0

он просит активировать выставление счета @class –

+0

Да. Вы должны включить выставление счетов за некоторые из функций API премиум-класса. – class