为什么无法解析python对Watson Language Translator的调用中的变量

时间:2018-09-27 23:03:29

标签: ibm-watson language-translation

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

0 个答案:

没有答案