Qt REST Client用于获取Microsoft Cognitive Services Translator API的身份验证令牌

问题描述 投票:0回答:1

我正在尝试编写一个基于Qt的REST客户端,它将使用我的Subscription-Key与Microsoft Cognitive Token Service进行通信,并获取一个身份验证令牌,稍后我可以使用它来建立与Microsoft Cognitive Services 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

上面的代码总是返回未知错误。我希望有人指出我正确的方向来解决这个问题。

谢谢。

c++ qt rest api post
1个回答
0
投票

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

您还可以选择绕过获取令牌并在呼叫中使用API​​密钥。在您对api.microsofttranslator.com或dev.microsofttranslator.com的http请求中,将http标头“Ocp-Apim-Subscription-Key”设置为您的订阅密钥。

不要拨打令牌服务(https://api.cognitive.microsoft.com/sts/v1.0/issueToken

不要使用AppID参数或“授权”http标头。

上述文件已相应更新。

C#示例在这里:https://github.com/MicrosoftTranslator/TranslateWithAzureSubscriptionKeyAuthentication

© www.soinside.com 2019 - 2024. All rights reserved.