В 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)