Fragensteller
Microsoft Dynamics 365 Business Central | WIE BEKOMME ICH DEN TOKEN FÜR DIE API?

Frage
-
Hallo zusammen,
da ich die API von Microsoft Dynamics 365 Business Central (Cloudlösung bei Microsoft) nutzen möchte ich aber nicht weiß wie ich den Token erstellen kann wende ich mich nun an euch.
Wie gehe ich vor um den API Token zu bekommen? Ein Beispiel in C# wäre schön da ich neu in dem Thema bin.
Eine schöne Woche wünsche ich euch.
Grüße
Sven
- Bearbeitet sm-a Montag, 8. Juni 2020 19:53
Alle Antworten
-
Hallo Sven,
Du kannst die Microsoft.IdentityModel.Clients.ActiveDirectory-Bibliothek verwenden, die Dienstprogramme zum Aufrufen von OAuth-Webdiensten enthält. Mit der Bibliothek kannst Du einen Code in einer C#-Konsolenanwendung hinzufügen, um ein Sicherheitstoken für den Zugriff auf Business Central-Webdienste abzurufen. Ausführliche Informationen findest Du in diesem Artikel:
Using OAuth to Authorize Business Central Web Services (OData and SOAP)
Gruß,
Ivan DragovBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Ivan,
ich habe das Beispiel probiert aber ich bekomme die folgende Fehlermeldung:
Severity Code Description Project File Line Suppression State Error CS7036 There is no argument given that corresponds to the required formal parameter 'customWebUi' of 'PlatformParameters.PlatformParameters(PromptBehavior, ICustomWebUi)'
Die Fehlermeldung bezieht sich auf folgende Codezeile:
AuthenticationResult authenticationResult = authenticationContext.AcquireTokenAsync(ServerAppIdUri, ClientId, new Uri(ClientRedirectUrl), new PlatformParameters(PromptBehavior.SelectAccount)).GetAwaiter().GetResult();
Anscheinend fehlt mir noch eine library. Hoffe Du oder jemand anders kannst mir helfen.
WICHTIG: Ich nutze die Cloud Lösung von Microsoft Dynamics 365 Business Central!
Gruß
Sven
- Bearbeitet sm-a Sonntag, 14. Juni 2020 17:27
-
Hallo Sven,
Dieser Fehler tritt auf, wenn Du .NET Core Framework verwendest. Das Beispiel funktioniert einwandfrei mit .NET Framework, wie hier beschrieben:
Generating an AD token in C#
Gruß,
Ivan DragovBitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo Ivan,
o.k. mein Fehler an das falsche Framework habe ich nicht gedacht.
Wenn ich die Anwendung nun ausführe dann bekomme ich ein Anmeldefenster und nachdem ich mich angemeldet habe kommt folgende Fehlermeldung:
Application with identifier 'xxx' was not found in the directory 'xxx.onmicrosoft.com'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.
Als ClientID habe ich in Active Directory die Object ID die unter "Identity" in meinen Nutzerdaten genannt wird. Dieses scheint jedoch falsch zu sein. Welche ID muss ich verwenden? Das verwendete Nutzerkonto ist ein Administrator Konto von daher kann es nicht an den rechten liegen. Ich kann mit diesem Konto auch ohne Probleme mich bei Business Central anmelden.
Freue mich über jede Hilfe.
Gruß
Sven