Data Analytics API

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

API-Call

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

Historic Parking Utilization Widget

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.

API Call

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.

Widget Fahrradzählung

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