QT REST客户端为Microsoft认知服务翻译器API获得身份验证令牌

Qt REST Client for getting an authentication token for Microsoft Cognitive Services Translator API

本文关键字:API 身份验证 令牌 翻译器 服务 客户端 REST Microsoft 认知 QT      更新时间:2023-10-16

我正在尝试编写一个基于QT的REST客户端,该客户端将使用我的订阅键与Microsoft认知令牌服务进行通信,并获得一个身份验证令牌服务API。

身份验证令牌API文档:http://docs.microsofttranslator.com/oauth-token.html

以下是我的代码:

QByteArray jsonString = "{"Ocp-Apim-Subscription-Key":"***********************"}";
QUrl serviceURL("https://api.cognitive.microsoft.com/sts/v1.0/issueToken");
QNetworkRequest request(serviceURL);
request.setRawHeader("Content-Type", "application/json")
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
QNetworkReply *reply = manager->post(request, jsonString);
qDebug() << reply->errorString();

错误:

unknown error

上面代码始终返回未知错误。我会感谢某人指向解决此问题的正确方向。

谢谢。

仔细检查backslash的现在,然后在jsonstring中的所有双引号之前。

请参阅Microsoft Translator API文档http://docs.microsofttranslator.com

您也可以选择绕过获得令牌并在呼叫中使用API键。在您的http请求中,请求api.microsofttranslator.com或dev.microsofttranslator.com,将http标头" OCP-apim-subscription-key"设置为订阅密钥。

不要致电令牌服务(https://api.cognitive.microsoft.com/sts/v1.0/issuetoken)

请勿使用Appid参数或"授权" HTTP标头。

上述文档已相应更新。

一个c#示例在这里:https://github.com/microsofttranslator/translatewithazuresscriptionKeyAuthentication