Bing 文本翻译器 API returns "response for preflight is invalid"

Bing text translator API returns "response for preflight is invalid"

我尝试使用 microsoft/bing 文本翻译器 api 进行翻译。我有来自 /v1.0/issueToken 的 Azure 服务和有效令牌。

我在我的浏览器和这个测试站点上试过了:https://docs.microsofttranslator.com/text-translate.html#!/default/get_Translate

text=test
to=en
Authorization=Bearer TOKEN

这就是我得到的结果:

XMLHttpRequest 无法加载 api.microsofttranslator.com/v2/http.svc/Translate?text=test&to=en。预检响应无效(重定向)

=> "error": "no response from server"

有人知道问题出在哪里吗?

这是一个使用 curl 和 Windows 的工作示例。看起来您缺少 From 查询参数。在集成之前,始终使用 curl 对 API 调用进行原型设计。如果它不适用于 curl,它就不会在您的代码中起作用。先用curl。

curl -k --data "" "https://api.cognitive.microsoft.com/sts/v1.0/issueToken" -H "Ocp-Apim-Subscription-Key:<Your key here>" > Bearer.txt
set /p Bearer= < Bearer.txt
curl -H "Authorization: Bearer %Bearer%" "https://api.microsofttranslator.com/v2/Http.svc/Translate?Text=test&From=en&To=es"

如果通过 appid 参数添加 "Bearer "+ TOKEN 就可以了。授权 header 在浏览器中不起作用。