Data Analytics API

REST API - Zugriff auf die zugrunde liegenden Daten von Data Analytics, bzw. der Widgets via API

Für jedes Widget in Data Analytics können die zugrunde liegenden Daten über eine bereitgestellte REST-API abgefragt werden. Die Integration in Anwendungen von Drittanbietern funktioniert schnell und unkompliziert.

API-Call

Sobald Sie ein Widget konfigurieren, finden die den Punkt API Call im Seitenmenü. Diese Option ist für jedes Widget verfügbar.

Führen Sie den Call entsprechend aus und testen Sie ihn direkt im Dialogfeld, einschließlich des Antwortformats, indem Sie auf Try it out! klicken.

Das angezeigte Dialogfeld enthält detaillierte Informationen darüber, wie der API-Call für die Daten dieses Widgets aussieht. Kopieren Sie den bereitgestellten Code und verwenden Sie ihn nach Bedarf.

Dieser Access Token ist temporär. Für eine dauerhafte Integration in Anwendungen von Drittanbietern benötigen Sie einen permanenten Token. Melden Sie sich diesbezüglich gerne bei unserem Support.

Authentifizierung

Wir halten uns strikt an den von Microsoft dokumentieren OAuth flow. Es gibt mehrere Client Libraries, die Sie verwenden können.

Beispiel für eine Anfrage

Fahrradzählung

Untenstehend sehen Sie ein Widget in Data Analytics, das für die Fahrradzählung genutzt wird. Der entsprechende Widget-Typ (Traffic Counting) wurde ausgewählt, die Daten werden pro Tag aggregiert, nach Objektklasse und Richtung aufgeschlüsselt und nach Fahrrädern gefiltert.

API-Request

Der API-Call zeigt den entsprechenden GET-Request für diese Daten wie untenstehend dargestellt:

https://example.com/cubejs-api/v1/load?query=
{
   "measures":[
      "CrossingEvents.count"
   ],
   "dimensions":[
      "CrossingEvents.classification",
      "CrossingEvents.direction"
   ],
   "segments":[],
   "filters":[
      {
         "member":"CrossingEvents.streamId",
         "operator":"equals",
         "values":[
            "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
         ]
      },
      {
         "member":"CrossingEvents.classification",
         "operator":"contains",
         "values":[
            "bicycle"
         ]
      },
      {
         "member":"CrossingEvents.lineId",
         "operator":"equals",
         "values":[
            "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
         ]
      }
   ],
   "timeDimensions":[
      {
         "dimension":"CrossingEvents.timestamp",
         "granularity":"day",
         "dateRange":"This week"
      }
   ],
   "order":{}
}

API-Response (gekürzt):

{
  "queryType": "regularQuery",
  "results": [
    {
      "query": {...},
      "data": [
        {
          "CrossingEvents.classification": "bicycle",
          "CrossingEvents.direction": "in",
          "CrossingEvents.timestamp.day": "2021-11-02T00:00:00.000",
          "CrossingEvents.timestamp": "2021-11-02T00:00:00.000",
          "CrossingEvents.count": "235"
        },
        {
          "CrossingEvents.classification": "bicycle",
          "CrossingEvents.direction": "out",
          "CrossingEvents.timestamp.day": "2021-11-02T00:00:00.000",
          "CrossingEvents.timestamp": "2021-11-02T00:00:00.000",
          "CrossingEvents.count": "234"
        },
        {
          "CrossingEvents.classification": "bicycle",
          "CrossingEvents.direction": "in",
          "CrossingEvents.timestamp.day": "2021-11-03T00:00:00.000",
          "CrossingEvents.timestamp": "2021-11-03T00:00:00.000",
          "CrossingEvents.count": "203"
        },
        {
          "CrossingEvents.classification": "bicycle",
          "CrossingEvents.direction": "out",
          "CrossingEvents.timestamp.day": "2021-11-03T00:00:00.000",
          "CrossingEvents.timestamp": "2021-11-03T00:00:00.000",
          "CrossingEvents.count": "249"
        }
      ],
      "annotation": {...}
    }
  ],
  "pivotQuery": {...}
}

Erweiterte Dokumentation

Die REST-API basiert auf Cube.js. Weitere Informationen und Details dazu und zur Funktionsweise generell finden Sie in dieser externen Dokumentation.

Zuletzt aktualisiert