Die Deutsche Gesellschaft für Kardiologie - Herz- und Kreislaufforschung e.V. German Cardiac Society stellt für seine Dienstleister verschiedene Services bereit, um Informationen abzurufen.

Hier finden Sie exemplarisch einen Codeausschnitt in C#, um über die Mitgliedsnummer und dem Passwort den Mitgliedsstatus abzufragen.

Kommentierter Code-Snippet

// Es werden die Parameter "grant_type", "client_id", "client-secret" und "scope" benötigt.
// Die Werte sind seitens der DGK vorgegeben.
                        
// Es wird ein Dictionary erstellt, da im Snippet eine Auflistung von Namen/Wert-Paaren benötigt wird.
var values = new Dictionary<string, string>
{
     { "grant_type", "client_credentials" },
     { "client_id", "vergebene ID" },
     { "client_secret", "vergebenens Secret" },
     { "scope", "api1" }
};

// Abruf des Bearer-Token zur Authentifizierung
 
// Die HttpClient-Klasse dient dazu, HTTP-Anforderungen zu senden und HTTP-Antworten aus einer Ressource zu erhalten.
// Diese Ressource wird über eine URI identifiziert.
// Die Token-URL erhalten Sie von der DGK.                        
var tokenClient = new HttpClient(httpClientHandler);
 
// FormUrlEncodedContent ist ein Container für die Name/Wert-Tupel, codiert mit dem "application/x-www-form-urlencoded" MIME-Typ.
var content = new FormUrlEncodedContent(values);
                        
// Es wird eine Anfrage an das zentrale Login verschickt, um ein Authorisierungstoken zu erhalten. Die Token-URL wird bereit gestellt.
var response = tokenClient.PostAsync(ConfigurationManager.AppSettings["Token-URL"], content).Result;
                        
// Die Antwort der PostAsync-Methode gibt eine Task<HttpResponseMessage> zurück.
// Der Content ist im JSON-Format und beinhaltet den Access-Token.
                        
// In diesem Snippet wird aus der Zeichenkette ein JSON-Objekt erstellt.
var result = JObject.Parse(response.Content.ReadAsStringAsync().Result);
 
// Der Wert des Tupels "access_token" enthält den Token. Dieser Token wird für die Nutzung der Services benötigt
var tokenValue = result.GetValue("access_token").Value<string>();
                        
// Nutzung des Service                       
// Es wird wieder ein Objekt der HTTPClient-Klasse genutzt.
var dataClient = new HttpClient();
 

// Die API-URL wird bereit gestellt.
dataClient.BaseAddress = new Uri(„API-URL“);
                        
// Der Header der Anfrage enthält das vorher abgerufene Token
dataClient.DefaultRequestHeaders.Accept.Clear();
dataClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + tokenValue);
                        
// Die Antwort wird im JSON-Format angefordert. Dies ist optional.
dataClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

// Aufruf der Funktion "isDGKMGCUG" mit den Parametern mnr (Mitgliedsnummer) und pw (Passwort).
HttpResponseMessage responseMessage = dataClient.GetAsync($"Common/isDGKMGCUG?user={mnr}&pw={password}").Result;
 
// Das Ergebnis als bool. True = Mitglied und False = Ist kein Mitglied
var verificationResult= bool.Parse(responseMessage.Content.ReadAsStringAsync().Result;


Dienstleister, die einen Service konsumieren wollen, erhalten alle notwendigen Informationen.

Die oben genannte Funktion dient nur der Veranschaulichung und ist kein Standard, der Dienstleistern zur Verfügung gestellt wird.

Verwandte Artikel