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

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

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

    Dienstag, 9. Juni 2020 17:46
    Administrator
  • 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
    Sonntag, 14. Juni 2020 13:21
  • 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 Dragov

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

    Montag, 15. Juni 2020 15:03
    Administrator
  • 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

    Dienstag, 16. Juni 2020 10:21