2016-11-24 40 views
4

我最近註冊了Microsoft Azure並設置了認知服務帳戶。使用Text Translation API Documentation的指示,我能夠使用interactive online example/issueToken服務中檢索身份驗證令牌。但是,如果我想使用該令牌(例如,用於interactive /translate example)我最終的響應錯誤:收到的令牌的標記類型不正確 - 標記應該是什麼樣的?

<html><body><h1>Argument Exception</h1><p>Method: Translate()</p><p>Parameter: </p><p>Message: The received token is of incorrect token type.</p><code></code><p>message id=0344.V2_Rest.Translate.3D8A6FF1</p></body></html> 

我在做什麼錯?令牌應該是什麼樣子,以什麼格式提供?在網上的例子,我通過設置APPID字段中指定的令牌來「承載[令牌]」,其中[令牌]是從/issueToken的響應。

在我的情況下,令牌是一個長度爲687個字符的字符串,可以分成三部分(使用'。'作爲分隔符)。前兩部分是base64編碼的,只包含一些JSON編碼的信息,保持不變(除了過期日期字段)。第三部分和最後部分每次都會更改,無法使用base64進行解碼。我沒有提供完整的令牌,而是試圖使用完整令牌的各種子串,但目前爲止沒有任何成功。

我也嘗試使用認證 -header通過捲曲驗證,而不是的APPID已場內,這也並沒有爲我工作。

+0

你在使用C#嗎? –

+0

是的,我想爲實際項目使用C#。但是由於Azure認證可以通過任何支持GET和POST請求的方式完成,我很樂意讓它以任何語言運行。 – Murp

回答

3

令牌實際上看起來應該像問題文本中所描述的那樣(至少現在是這樣)。我遇到的問題是我使用了錯誤的訂閱密鑰。請注意:您會分別爲翻譯API和語音API獲得不同的密鑰;即使兩者都在Cognitive Services下運行,並且即使通過相同資源連接兩者。

我發佈這個作爲我的問題的答案,因爲我想確認上面列出的所有步驟都是正確的,因爲我希望它可以幫助那些和我一樣犯同樣錯誤的人。

相關問題