Почему переменная в вызове Python для Watson Language Translator не разрешена - PullRequest
0 голосов
/ 28 сентября 2018

В python я хочу отправить переменную строку в Watson Language Translator v3, используя приведенный ниже код.Однако код возврата равен 400, что указывает на отсутствие обязательного параметра.Когда вместо переменной j я использую буквальную строку (так: data = '{"text": "hello there"}, {"model_id": "en-es"}' Я получил верный перевод. Как использовать переменную для получения перевода вместо кода 400?

import requests, json

headers = {'Content-Type': 'application/json',}
params = (('version', '2018-05-01'),('X-Watson-Learning-Opt-Out', 'true')):

j=json.dumps("hello there")
print(j)

data = '{"text":j},{"model_id":"en-es"}'

r = requests.post(
        'https://gateway.watsonplatform.net/language-translator/api/v3/translate', 
        headers=headers, params=params, data=data, auth=('xxx', 'xxx'))

print(r)
y=json.loads(r.text)
s= y['translations'][0]['translation']
print(s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...