如何修复推特机器人中的Yandex API代码泄漏?



我是编程初学者,我正在 IBM 云中开发一个 node-red 机器人,我在返回 yandex 翻译 API 时遇到了问题。它在推文中返回部分 api 代码,这根本不令人愉快。

yandex 的 api 允许 api 以 json 或 xml 格式返回,我都尝试了,但我无法解决问题。有问题的机器人正在使用其他 api,我能够正常配置它们,结果不会发生这种情况,这将是发布推文的最终结果。

要发送要进行的转换,请使用 Node Red 函数中的以下请求:

var translate =   msg.method ='GET';
msg.url = "https://translate.yandex.net/api/v1.5/tr/translate?key= *API KEY* &text=" + recipe + "&lang=pt"
return [msg,null];]

在下一个块和发送消息之前的最后一个块中,我使用了类似的东西:

var yandex= msg.payload;
yandex = 'a' + msg.payload.text;
return msg;

这让我在公共推文中返回这样的东西

"<?xml version="1.0" encoding="utf-8"?>
< Translation code="200" lang="en-pt"><text>é uma receita com Estilo grego Desfrutar de sua comida!</text>< / T"

希望删除所有这些发送到输出的代码,只将翻译发送到推文,这就是里面的内容。 请原谅我的代码冗余,但我并不完全了解javascript,我的大学教授的语言有点老,比如pascal。

无需编写任何代码即可执行转换。这就是Node-RED的力量。您所需要做的就是将格式正确的有效负载发送到http request node。在此节点的配置对话框中,勾选选项Append msg.payload as query string parameters。您将通过提取msg.payload.text来获得翻译。

要发送到http request的有效负载必须按如下方式构建:

{
"key": "you key",
"lang": "en-pt",
"format": "plain",
"text": "Life is like a game"
}

您发布的代码存在语法错误,不会生成所需的输出。

我建议您多研究一点 Node-RED 并提出问题他们的论坛,以防您不理解上面解释的内容。

最新更新