• Bewerte uns auf OMR Reviews: Klick

  • Achtet bitte in den Beiträgen darauf, dass ihr keine Informationen teilt, die der DSGVO unterliegen können. Verpixelt bitte die entsprechenden Stellen in Screenshots, postet hier auf keinen Fall Messagatracks ohne Rücksprache und auch in den Log Files können persönliche oder sensible Daten enthalten sein.

    Macht uns auch bitte per PN darauf aufmerksam wenn ihr etwas seht. Schreibt mich (@sören) einfach direkt an. 

Gelöst API Dokumentation

righter

Member
Halllo

Ich habe gesehen, dass es eine API gibt. (Wir haben onPremise)
Gibts dazu eine Dokumentation was alles möglich ist darüber.

Wir müssen für unsere interne Verrechnung alle User auslesen und wissen wer davon Protection und Encryption hat.
Das könnte man via dem PowerShell Report machen aber das wäre obermühsam und mit einer API wäre das viel einfacher und eleganter.

Gruss
 
Guten Morgen,

du kannst die ODATA Beschreibung standardmäßig unter: https://INTRANET_ROLLEt:6061/odata/v4/$metadata abrufen.
Mittels des Endpunktes "FeatureUsage" kannst du dann die Lizenz Nutzung pro Benutzer abfragen:
https://INTRANET_ROLLE:6061/odata/v4/FeatureUsage
Die Rückgabe sieht dann ungefähr so aus:
Code:
[{"DisplayName":"admin@internal.test","Protection":1,"Encryption":1,"LargeFiles":1,"Disclaimer":1,"FilesUploadedToSandbox":0},{"DisplayName":"Admin","Protection":1,"Encryption":1,"LargeFiles":1,"Disclaimer":1,"FilesUploadedToSandbox":1}]}


Gruß,
Jan
 
Guten Morgen zusammen,

Ein API Aufruf für das Freigeben eines gesperrten Anhangs mittels der Anhang-ID ist nicht vorhanden oder?
Thema: Selfservices mittels MS PowerAutomate :sneaky:

LG
Fabian
 
Guten Morgen,

du kannst die ODATA Beschreibung standardmäßig unter: https://INTRANET_ROLLEt:6061/odata/v4/$metadata abrufen.
Mittels des Endpunktes "FeatureUsage" kannst du dann die Lizenz Nutzung pro Benutzer abfragen:
https://INTRANET_ROLLE:6061/odata/v4/FeatureUsage
Die Rückgabe sieht dann ungefähr so aus:
Code:
[{"DisplayName":"admin@internal.test","Protection":1,"Encryption":1,"LargeFiles":1,"Disclaimer":1,"FilesUploadedToSandbox":0},{"DisplayName":"Admin","Protection":1,"Encryption":1,"LargeFiles":1,"Disclaimer":1,"FilesUploadedToSandbox":1}]}


Gruß,
Jan
Ok danke, das schaut ja mal gut aus.
Gibts eine ganze Doku irgendwo zu dem odata?
Ich würde da gerne die primary mail des uers auslesen, mit dem Display Name kann ich nicht viel anfangen.
Danke
 
Leider gibt es noch keine Offizielle ODATA Dokumentation. Der "$metadata" Endpunkt ist derzeit die Einzige Anlaufstelle um zu schauen was möglich ist.

Im Falle der Benutzersuche könntest du z.B. folgende Abfrage machen:
Code:
https://INTRANET_ROLE:6061/odata/v4/Users?$filter=((((startswith(Surname,%27testuser%27))%20or%20(startswith(GivenName,%27testuser%27))%20or%20(startswith(DisplayName,%27testuser%27)))))&$expand=MailAddresses($expand=Domain)&$orderby=Id%20desc&$top=51&$skip=0

Ich suche hier nach dem Namen "TestUser", das lässt sich natürlich entsprechend anpassen was die Filter angeht =)
Wenn du direkt "/Users" aufrufst bekommst du entsprechend alle Benutzer zurück.

Darf ich fragen weshalb du explizit die E-Mail Adressen brauchst?
Hast du ggf. eine Multitenant Umgebung und benötigst eine Aufteilung nach Tenant?
 
Danke für das Exampel.
Jein wir haben kein Multi-Tenant. Jedoch muss ich intern die Lizenzen an andere Länder weiterverrechnen.
Dafür brauch ich die Mailadresse mit der wir detektieren können in unseren System bei welchem Department er zugeordnet ist.
 
Ok habs hinbekommen, falls es auch noch jemand benötigt:


Code:
    // Authenticate with API
    $token="XY";
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://URL:6061/api/identity-service/account/login/pat",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        //CURLOPT_POSTFIELDS => "grant_type=client_credentials&scope=connect.api.read",
        CURLOPT_HTTPHEADER => array(
          "content-type: application/x-www-form-urlencoded",
          "Accept: application/json",
          "Authorization: Bearer $nsptoken",
          "User-Agent: billing"
        ),
     ));
    $response = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);
    if ($err)
    {
        echo "cURL Error #:" . $err;
    }
    else
    {
        $token=json_decode($response);
        //echo $token->token;
    }

    // get all licensed users
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://URL:6061/odata/v4/Users",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_HTTPHEADER => array(
          "Authorization: Bearer $token->token",
          "User-Agent: billing"
        ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);
    var_dump($response);
    curl_close($curl);
    if ($err)
    {
        echo "cURL Error #:" . $err;
    }
    else
    {
    }
 
Zuletzt bearbeitet:
@JanJäschke Hmm jetzt hängts bei der API Permission für das FeatureUsage.
Da hab ich nur ein globalFeatureUsage gefunden.
Beim erstellen erhalte ich aber eine leere Warning.

Wenn ich nur die Permission für User mache klappt alles:

Code:
PS C:\Users\admin> New-NspApiKey -Permissions "read:globalFeatureUsage"

cmdlet New-NspApiKey at command pipeline position 1
Supply values for the following parameters:
Name: a
WARNING:
 
Wow Danke für den Code Snippet :D

Bei den Rechten:
Das "gloablFeatureUsage" ist für die tenant basierte Nutzung und zielt auf einen anderen Endpunkt/Funktion der FeatureUsage ab.
Das ist hier also nicht das richtige Claim, die anderen sind die korrekten.
 
Zurück
Oben