Wir haben eine in JavaScript geschriebene Beispielcodebasis bereitgestellt, die auf der Kommandozeile mit NodeJS ausgeführt werden kann.

Voraussetzungen

  • Laden Sie die neueste stabile Version von https://nodejs.org/en/ herunter.
  • Laden Sie die Datei minimal-lmc-api-setup.zip herunter, und entpacken Sie sie in Ihrem Arbeitsbereich.
  • Führen Sie npm install aus, um die für den Beispielcode erforderlichen Abhängigkeiten herunterzuladen.

Wir empfehlen die Verwendung von Visual Studio Code als IDE.

Die ZIP-Datei enthält die folgenden Dateien:

Config.json

Dies ist eine Konfigurationsdatei. Aktualisieren Sie sie mit Ihren Anmeldedaten / Ihrem Dienstkonto:

{
    "user": "admin",
    "pass": "admin",
    "baseurl": "https://cloud.lancom.de",
    "otpSecret: ""
}

Wenn Sie die Zwei-Faktor-Authentifizierung verwenden, müssen Sie das Geheimnis über otpSecret angeben, andernfalls lassen Sie es leer. Falls angegeben, wird lmc-api.js Token mit diesem Geheimnis erzeugen.

lmc-api.js, util.js

Hierbei handelt es sich um Bibliotheksdateien.

lmc-api.js enthält den Authentifizierungs-/Autorisierungsmechanismus, einschließlich eines Token-Caches, der gültige Token wiederverwendet und Token bei Bedarf automatisch auffrischt.

util.js vereinfacht das Schreiben von Beispielen. Siehe unten.

get-sites.js

Eine Beispielimplementierung zum Abrufen einer Liste von Site-UUIDs aus einem Projekt:

const util = require("./util.js");

if (!util.checkParams(["account-uuid"])) { // add more cli parameters here
    return;
}

// Create an API object, to query the given account
const lmcApi = util.getApi(process.argv[2]);
// next cli parameter would be process.argv[3]

lmcApi.fetch(`/cloud-service-devices/accounts/${lmcApi.accountId}/sites?select=id`)
    .then(sites => {
        sites
            .forEach(site => console.log(site));
    });

Anwendung:

# node get-sites.js
Usage:
node get-sites.js <account-uuid>

Übung:

Erstellen Sie eine Datei get-devices.js, ähnlich wie get-projects.js, und geben Sie eine Liste von Projekt-IDs und -namen auf der Kommandozeile aus.