Hallo,
wir haben von Immobilien Scout für die Sandbox sowie für die API als Zugangsdaten jeweils eine Kombination aus Benutzer-ID und Passwort erhalten. Diese Daten habe ich in die vorbereitete json-Datei für das Beispiel-Konsolenprogramm eingetragen:
{
"ConsumerKey": "<consumer_id>",
"ConsumerSecret": "<consumer_pw>",
"AccessToken": "<api_id>",
"AccessSecret": "<api_pw>"
}
Beim Ausführen von SampleConsole.exe werden in "programm.cs" in der Methode "TestAsync" connection-Eigenschaften anhand der gelesenen Konfiguration belegt. Das läuft ab Zeile 19 wie folgt:
var config = RestSharp.SimpleJson.DeserializeObject<Config>(File.ReadAllText("config.json"));
var connection = new IS24Connection
{
ConsumerKey = config.ConsumerKey,
ConsumerSecret = config.ConsumerSecret,
AccessToken = config.AccessToken,
AccessTokenSecret = config.AccessSecret,
BaseUrlPrefix = @"http://rest.sandbox-immobilienscout24.de/restapi/api/offer/v1.0"
};
Dies scheint korrekt zu funktionieren, denn im Debugger ist die richtige Zuweisung der json-Daten zu erkennen.
Hiernach kommt es dann jedoch zur Exception (Zeile 34):
try
{
contact = await api.Contacts.GetAsync("Hans Meiser", isExternal: true);
}
catch (IS24Exception ex)
{
//...
}
Die Fehlermeldung lautet:
ERROR_COMMON_AUTHENTICATION_REQUIRED: Authentication is required for this operation. [ERROR MESSAGE: Consumer not found: <consumer_id>]
(Eine ausführlichere Exception-Message siehe [1] unten)
Was mache ich falsch? Kann jemand helfen?
Vielen Dank schon mal.
Viele Grüße
Franz Moll
P.S.: Die Fehlermeldung "Consumer not found: <consumer_id>" haben wir zunächst ImmoScout geschickt, an denjenigen Kontakt, von dem wir die Zugangsdaten erhalten haben. Die Antwort lautete, dass die .NET-SDK SampleConsole dort nicht bekannt sei und wir diese Frage im Forum stellen möchten, also hier. Wir setzen Visual Studio 2012 ein. Das Projekt "IS24RestApi-master.zip" wurde am 22.04.2014 heruntergeladen.
[1]
"IS24RestApi.IS24Exception" wurde aufgefangen.
HResult=-2146233088
Message=ERROR_COMMON_AUTHENTICATION_REQUIRED: Authentication is required for this operation. [ERROR MESSAGE: Consumer not found: <consumer_id>]
Source=IS24RestApi
StackTrace:
bei IS24RestApi.IS24Connection.<ExecuteAsync>d__3`1.MoveNext() in c:\Projekte\IS24\IS24RestApi-master\IS24RestApi\IS24Connection.cs:Zeile 155.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
bei SampleConsole.Program.<TestAsync>d__c.MoveNext() in c:\Projekte\IS24\IS24RestApi-master\SampleConsole\Program.cs:Zeile 34.
InnerException: