我已经使用 Google Translate API 一段时间了,没有任何问题。我最近将我的应用程序推送到我的新服务器上,即使它在我的本地服务器上运行良好,相同的源代码总是给我“必需参数:q”作为错误消息。
我正在使用 NodeJS + ExpressJS + Request 来发送这个请求。这是我的测试用例:
var request = require('request');
request.post({
url: "https://www.googleapis.com/language/translate/v2",
headers: {"X-HTTP-Method-Override": "GET"},
form: {
key: /* My Google API server key */,
target: "en",
q: ["Mon premier essai", "Mon second essai"]
}
}, function(error, response, data) {
if (!error && response.statusCode == 200) {
console.log("everything works fine");
} else {
console.log("something went wrong")
}
});
在我的本地机器上运行让我“一切正常”,在我的服务器上运行它让我“出了点问题”。深入研究它,我收到上面提到的错误消息。如您所见,我试图在一个请求中翻译两句话。这只是一个测试用例,但我确实需要通过 POST 请求来使用它,而不是执行两个 GET 请求。
我不知道这是怎么回事,我仔细检查了我的谷歌设置,我找不到那里有什么问题。此外,在我的服务器上使用具有相同 api 密钥的 Google Places APi 也没有问题。
我被困住了。有人知道这里有什么问题吗?