Ich versuche, die IBM Watson-API aufzurufen, um eine Stimmungsanalyse von meinem Unity-Projekt mithilfe der WWW-Bibliothek durchzuführen. Dies ist mein aktueller Code:Kann externe API (IBM Watson) nicht in Unity C# über HTTP-Anforderung aufgerufen werden?
string uri = "https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2017-02-27";
WWWForm form = new WWWForm();
form.AddField ("text", "That%20was%20simply%20magnificent!");
form.AddField ("features", "sentiment");
form.AddField ("Content-Type", "application/json");
var headers = form.headers;
byte[] rawData = form.data;
headers["Authorization"] = "Basic " + System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(USERNAME + ":" + PASSWORD));
WWW www = new WWW(uri, rawData, headers);
yield return www;
wo USERNAME
und PASSWORD
meine API-Anmeldeinformationen sind. Dieser Code gibt mir jedoch einen Fehler 415. Wenn ich Authorization to Authentication ändere, ändert sich der Fehler zu 401.
Ich habe versucht, die gleiche Anfrage mit hurl.it (was funktioniert), und ich habe die Autorisierung Header ausgedruckt und verglichen, was hurl.it konstruiert einen Benutzernamen und ein Passwort, und sie sind die gleiche Zeichenfolge - dennoch schlägt die Anfrage im Projekt fehl. Was vermisse ich?
FYI Natural Language Understanding in der Watson Unity SDK abstrahiert: https://github.com/watson-developer-cloud/unity-sdk/blob/develop/Scripts/Services/NaturalLanguageUnderstanding/v1/NaturalLanguageUnderstanding. cs – taj
UnityWebRequest System funktioniert für Sie? – jdnichollsc
@jdnichollsc Ich endete mit dem SDK, das funktionierte. – Technicolor