2016-11-24 1 views
4

Ich habe mich kürzlich bei Microsoft Azure registriert und ein Konto für kognitive Dienste eingerichtet. Mit den Anweisungen von Text Translation API Documentation konnte ich ein Authentifizierungstoken aus dem /issueToken Service unter Verwendung der interactive online example abrufen. Wenn ich jedoch, dass die Token verwendet werden soll (zum Beispiel für die interactive /translate example) ich am Ende mit der AntwortFehler: Das empfangene Token hat den falschen Tokentyp - Wie sollte das Token aussehen?

<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> 

Was mache ich falsch? Wie soll das Token aussehen und in welchem ​​Format soll ich es liefern? Im Online-Beispiel angegeben ich das Token durch Setzen des appid Feld "Bearer [token]", wo [token] ist die Antwort von /issueToken.

In meinem Fall ist das Token eine 687 Zeichen lange Zeichenfolge, die in drei Teile (mit '.' Als Trennzeichen) getrennt werden kann. Die ersten beiden Teile sind Base64-codiert und enthalten nur einige JSON-codierte Informationen, die konstant bleiben (mit Ausnahme des Ablaufdatumsfelds). Der dritte und letzte Teil ändert sich jedes Mal und kann nicht mit base64 entschlüsselt werden. Anstatt das volle Token zu liefern, habe ich auch versucht, verschiedene Substrings des vollen Tokens zu verwenden, aber bisher ohne Erfolg.

Ich habe auch versucht, über curl Authentifizierung unter Verwendung des Authentication -header anstelle des appid -field, die für mich arbeiten auch nicht.

+0

Arbeiten Sie an C#? –

+0

Ja, ich möchte C# für das aktuelle Projekt verwenden. Aber da die Azure-Authentifizierung mit allem durchgeführt werden kann, das GET- und POST-Anfragen unterstützt, würde ich mich freuen, dass es in jeder Sprache funktioniert. – Murp

Antwort

3

Das Token muss tatsächlich so aussehen, wie es im Fragetext beschrieben ist (zumindest ab sofort). Das Problem in meinem Fall war, dass ich den falschen Abonnementschlüssel verwendete. Beachten Sie hier: Sie erhalten jeweils einen anderen Schlüssel für die Übersetzungs-API und die Sprach-API. obwohl beide unter Cognitive Services ausgeführt werden und auch wenn Sie beide über die gleichen Ressourcen verbinden.

Ich poste dies als eine Antwort auf meine Frage, weil ich bestätigen möchte, dass alle oben aufgeführten Schritte korrekt sind und weil ich hoffe, dass es Leuten helfen kann, die den gleichen Fehler machen wie ich.

Verwandte Themen