# Microsoft 365

Name des delegierten Benutzers (bei delegierten Rechten)

Diese App verbindet Räume und andere Ressourcen mit BuildingPro Suites und liefert Informationen zu deren Buchungsstatus. Die wichtigste Fähigkeit der App ist jedoch die Möglichkeit, die gesamte Graph API direkt in BuildingPro Suites mithilfe der Authentifizierungs-Proxy-Funktionalität zu verwenden.

### Installation

Die Microsoft 365 App wird über den BuildingPro Suites App Store installiert.

### Assets

Die Microsoft 365 App erstellt automatisch alle erforderlichen Asset-Typen und Assets, die über die konfigurierten Endpunkte zugänglich sind. Die folgenden Asset-Typen werden erstellt:

* Raum: Ein Raum in Azure AD.
* Ausstattung: Jedes buchbare Ausstattungsobjekt. Wie ein Raum, aber allgemeiner gefasst.

Die folgenden Attribute sind definiert:

<table><thead><tr><th>Attribut</th><th>Beschreibung</th><th width="79">Raum</th><th width="128">Ausstattung</th><th>Filterbar</th></tr></thead><tbody><tr><td><code>Adresse</code></td><td>Physische Adresse</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Spitzname</code></td><td>Spitzname</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Bezeichnung</code></td><td>Bezeichnung</td><td>x</td><td></td><td>x</td></tr><tr><td><code>geografische_Koordinaten</code></td><td>Geografische Koordinaten</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Telefon</code></td><td>Telefonnummer</td><td>x</td><td></td><td>x</td></tr><tr><td><code>E-Mail-Adresse</code></td><td>E-Mail-Adresse</td><td>x</td><td>x</td><td>x</td></tr><tr><td><code>Buchungstyp</code></td><td>Buchungstyp</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Gebäude</code></td><td>Gebäude</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Kapazität</code></td><td>Kapazität</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Stockwerkbezeichnung</code></td><td>Stockwerkbezeichnung</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Stockwerknummer</code></td><td>Stockwerknummer</td><td>x</td><td></td><td>x</td></tr><tr><td><code>ist_rollstuhlgerecht</code></td><td>Rollstuhlgerechtigkeit</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Tags</code></td><td>Tags</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Anzeigegerätename</code></td><td>Anzeigegerätename</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Audiogerätename</code></td><td>Audiogerätename</td><td>x</td><td></td><td>x</td></tr><tr><td><code>Videogerätename</code></td><td>Videogerätename</td><td>x</td><td></td><td>x</td></tr><tr><td><code>planmäßig</code></td><td>Planmäßig</td><td>x</td><td>x</td><td></td></tr></tbody></table>

#### Konfiguration

{% hint style="info" %}
Weitere Informationen zur App-Konfiguration finden Sie [↗ hier](https://doc.eliona.io/collection/dokumentation/einstellungen/apps).
{% endhint %}

Die Microsoft 365 App wird durch die Definition einer oder mehrerer Authentifizierungsanmeldedaten konfiguriert. Für jede Konfiguration sind die folgenden Daten erforderlich:

| Attribut          | Beschreibung                                                                                                                                                                                                                                                         |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tenantId`        | ID oder Domäne des Unternehmens                                                                                                                                                                                                                                      |
| `clientId`        | Client-ID / Azure AD-Anwendungs-ID                                                                                                                                                                                                                                   |
| `clientSecret`    | Ein „Client Secret“ (für App-Berechtigungen)                                                                                                                                                                                                                         |
| `username`        | Name des delegierten Benutzers (für delegierte Rechte)                                                                                                                                                                                                               |
| `password`        | Kennwort des delegierten Benutzers (für delegierte Berechtigungen)                                                                                                                                                                                                   |
| `forEliona`       | Gibt an, ob die Konfiguration für die Asset-Erstellung verwendet werden soll                                                                                                                                                                                         |
| `forProxy`        | Gibt an, ob die Konfiguration für das App-Frontend und die Proxy-API verwendet werden soll                                                                                                                                                                           |
| `enable`          | Schalter zum Aktivieren oder Deaktivieren des Abrufs von dieser API                                                                                                                                                                                                  |
| `refreshInterval` | Intervall in Sekunden für das Sammeln von Daten aus der API                                                                                                                                                                                                          |
| `requestTimeout`  | Zeitüberschreitung für API-Abfragen in Sekunden                                                                                                                                                                                                                      |
| `assetFilter`     | Filter für die Asset-Erstellung, weitere Details finden Sie in der README der App                                                                                                                                                                                    |
| `tenantIDs`       | Liste der BuildingPro Suites Tenant-IDs, für die dieses Gerät Daten erfassen soll. Alle Assets werden für jede Tenant-ID automatisch in BuildingPro Suites erstellt. Die Zuordnung zu den BuildingPro-Suites-Assets wird in der App als Asset-Zuordnung gespeichert. |

Die Konfiguration muss entweder das Client Secret für App-Berechtigungen oder die Benutzeranmeldedaten für delegierte Berechtigungen enthalten. Die Konfiguration erfolgt über eine entsprechende JSON-Struktur. Als Beispiel kann die folgende JSON-Struktur verwendet werden, um einen Endpunkt für App-Berechtigungen zu definieren:

\[code here]

Endpunkte können mit dieser Struktur in BuildingPro Suites unter folgendem Pfad erstellt werden `Apps > Kontakt.io > Einstellungen`. Wählen Sie den /configs-Endpunkt mit der POST-Methode aus.

### Erforderliche Berechtigungen

Für den grundlegenden Anwendungsfall des Lesens von Räumen und Geräten sowie ihrer Verfügbarkeit benötigt die Anwendung die folgenden Anwendungsberechtigungen:

* `Place.Read.All`
* `User.Read.All`
* `Calendars.Read`
