Suchen nach möglichen Besprechungszeiten im Outlook-Kalender

In einem Unternehmen oder einer Schule oder Universität ist die Suche nach einer gemeinsamen Zeit und einem Ort für eine Besprechung häufig mit Mehraufwand verbunden. Microsoft Graph-Anwendungen können findMeetingTimes verwenden, um mögliche Besprechungszeiten zu identifizieren, die Zeit, Ort und andere Einschränkungen erfüllen.

Mit der FindMeetingTimes-Aktion können Sie Bedingungen wie Datum/Uhrzeit der Besprechung, Dauer, optionale oder erforderliche Teilnehmer und Art der Aktivität (activityDomain) angeben. Die Aktion berücksichtigt die normalen Arbeitspläne der Teilnehmer und des Organisators sowie die frei/gebuchten status und schlägt Zeiten vor, die für die Teilnehmer und die Art der Aktivität geeignet sind. Für instance werden Vorschläge für eine arbeitsbezogene Aktivität immer während der Arbeitszeiten des Organisators und der Teilnehmer angezeigt, und Vorschläge, bei denen erforderliche Teilnehmer verfügbar sind, werden in der Liste der Vorschläge nach oben sortiert.

In Microsoft 365 können Arbeitszeiten und Zeitzonen pro Postfach konfiguriert werden. Die findMeetingTimes-Aktion behandelt Zeitzonenvariationen zwischen dem Organisator und den Teilnehmern. Standardmäßig gibt findMeetingTimes Vorschläge in UTC zurück. Sie können den folgenden Anforderungsheader verwenden, um findMeetingTimes Vorschläge in einer bestimmten Zeitzone zurückzugeben.

Prefer: outlook.timezone="{time-zone-string}}"

Besonders hilfreich für größere Besprechungen ist, dass Sie einen Prozentsatz (minimumAttendeePercentage) für ein Quorum angeben können, sodass findMeetingTimes nur Vorschläge zurückgibt, wenn diese minimale Teilnehmerzahl verfügbar ist.

Wenn findMeetingTimes keine Besprechungszeiten vorschlagen kann, wird ein bestimmter Grund (emptySuggestionsReason) angegeben, z. B. der Organisator oder ein erforderlicher Teilnehmer, der nicht verfügbar ist. Ausgehend von diesem Wert können Sie die Parameter optimieren und findMeetingTimes erneut aufrufen.

Hinweis

Die findMeetingTimes-Aktion ist derzeit für Microsoft 365 Arbeits- oder Schulpostfächer verfügbar, nicht aber für persönliche outlook.com-Postfächer.

Beispiel

Das folgende Beispiel zeigt, wie FindMeetingTimes verwendet wird, um mögliche Zeiten für zwei Benutzer zurückzugeben, die sich für ein paar Stunden treffen, wobei die Frei/Gebucht- und Arbeitspläne der Benutzer berücksichtigt werden und der Teilnehmer für einen Teil der Zeit nicht anwesend ist. Da nur 2 Benutzer für diese Besprechung vorhanden sind, erfordern Vorschläge eine 100%lange. Im Folgenden wird der Frei/Gebucht-Zeitplan der Benutzer veranschaulicht.

Kalender des Organisators

Der Arbeitskalender des Organisators für den 17. bis 21. April mit Frei/Gebucht-Zeiten

Kalender des Teilnehmers

Der Arbeitskalender des Teilnehmers für den 17. bis 21. April mit Frei/Gebucht-Zeiten

Im Beispiel wird findMeetingTimes zwei Mal aufgerufen:

  1. Der erste Aufruf sieht im Datumsbereich vom 18. bis 20. April aus. Da der Teilnehmer am 18. und 19. April außer Haus ist und am 20. April keine allgemein verfügbare Zeit verfügbar ist, gibt der erste Anruf keine Vorschläge mit dem Grund (emptySuggestionsReason) zurück, dass die Teilnehmer nicht verfügbar sind.
  2. Der zweite Aufruf sucht nach Verfügbarkeit am 21. April und gibt als Vorschlag den Zeitraum zwischen 14:00 und 16:00 Uhr zurück.

Die beiden Aufrufe von findMeetingTimes enthalten die folgenden Parameter. Alle Parameter für findMeetingTimes sind optional.

  • attendees: ein Teilnehmer, Samantha Booth; die Eigenschaft type ist auf required festgelegt.
  • timeConstraint: kein Ortsvorschlag erforderlich.
  • timeConstraint: Der erste Aufruf sucht im Datums-/Uhrzeitbereich vom 18. April, 9:00 Uhr bis zum 20. April, 17:00 Uhr; nachdem der erste Aufruf keine Zeiten vorschlagen kann, untersucht der zweite Aufruf den 21. April zwischen 9:00 und 17:00 Uhr.
  • meetingDuration: zwei Stunden.
  • returnSuggestionReasons: In diesem Beispiel muss ein Grund für jeden Vorschlag angegeben werden.
  • minimumAttendeePercentage: 100 %, da der Teilnehmer zu jeder vorgeschlagenen Zeit verfügbar sein muss.

Erste Anforderung

Nach einem freien, zweistündigen Zeitfenster für beide Benutzer zwischen dem 18. und 20. April suchen.

POST https://graph.microsoft.com/v1.0/me/findMeetingTimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-type: application/json

{
  "attendees": [
    {
      "type": "required",
      "emailAddress": {
        "name": "Samantha Booth",
        "address": "samanthab@contoso.com"
      }
    }
  ],
  "locationConstraint": {
    "isRequired": false,
    "suggestLocation": false,
    "locations": [
      {
        "resolveAvailability": false,
        "displayName": "Conf room Hood"
      }
    ]
  },
  "timeConstraint": {
    "activityDomain":"work",
    "timeslots": [
      {
        "start": {
          "dateTime": "2017-04-18T09:00:00",
          "timeZone": "Pacific Standard Time"
        },
        "end": {
          "dateTime": "2017-04-20T17:00:00",
          "timeZone": "Pacific Standard Time"
        }
      }
    ]
  },
  "meetingDuration": "PT2H",
  "returnSuggestionReasons": true,
  "minimumAttendeePercentage": 100
}

Erste Antwort

Es gibt kein zweistündiges Zeitfenster während der Arbeitszeiten vom 18. bis 20. April, in dem beide Benutzer verfügbar sind.

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.timezone="Pacific Standard Time"
Content-Length: 184

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.meetingTimeSuggestionsResult",
    "emptySuggestionsReason":"AttendeesUnavailable",
    "meetingTimeSuggestions":[

    ]
}

Zweite Anforderung

Nach einem zweistündigen Zeitfenster am 21. April suchen.

POST https://graph.microsoft.com/v1.0/me/findMeetingTimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-type: application/json

{
  "attendees": [
    {
      "type": "required",
      "emailAddress": {
        "name": "Samantha Booth",
        "address": "samanthab@contoso.com"
      }
    }
  ],
  "locationConstraint": {
    "isRequired": false,
    "suggestLocation": false,
    "locations": [
      {
        "resolveAvailability": false,
        "displayName": "Conf room Hood"
      }
    ]
  },
  "timeConstraint": {
    "activityDomain":"work",
    "timeslots": [
      {
        "start": {
          "dateTime": "2017-04-21T09:00:00",
          "timeZone": "Pacific Standard Time"
        },
        "end": {
          "dateTime": "2017-04-21T17:00:00",
          "timeZone": "Pacific Standard Time"
        }
      }
    ]
  },
  "meetingDuration": "PT2H",
  "returnSuggestionReasons": true,
  "minimumAttendeePercentage": 100
}

Zweite Antwort

Die zweite findMeetingTimes-Anforderung schlägt als Besprechungszeit für beide Benutzer den 21. April von 14:00 bis 16:00 Uhr vor.

HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.timezone="Pacific Standard Time"
Content-Length: 714

{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.meetingTimeSuggestionsResult",
    "emptySuggestionsReason":"",
    "meetingTimeSuggestions":[
        {
            "confidence":100.0,
            "organizerAvailability":"free",
            "suggestionReason":"Suggested because it is one of the nearest times when all attendees are available.",
            "meetingTimeSlot":{
                "start":{
                    "dateTime":"2017-04-21T14:00:00.0000000",
                    "timeZone":"Pacific Standard Time"
                },
                "end":{
                    "dateTime":"2017-04-21T16:00:00.0000000",
                    "timeZone":"Pacific Standard Time"
                }
            },
            "attendeeAvailability":[
                {
                    "availability":"free",
                    "attendee":{
                        "type":"required",
                        "emailAddress":{
                            "address":"samanthab@contoso.com"
                        }
                    }
                }
            ],
            "locations":[
                {
                    "displayName":"Conf room Hood"
                }
            ]
        }
    ]
}

Nächste Schritte

Es gibt Zeiten, in denen nicht alle Teilnehmer an einer Besprechung teilnehmen können. Sie können findMeetingTimes eine Uhrzeit vorschlagen lassen, wenn die Konfidenz für die Anwesenheit einen bestimmten Prozentsatz erreicht, indem Sie den optionalen Parameter minimumAttendeePercentage angeben. Erfahren Sie mehr über die Zuverlässigkeit eines Besprechungsvorschlags und andere Parameter, und wenden Sie sie entsprechend für Besprechungen größerer Größe an.

Nachdem Sie Vorschläge für Besprechungszeiten erhalten haben, haben Sie folgende Möglichkeiten:

  1. Termin erstellen und als Besprechungsanfrage senden
  2. Dem Termin eine Anlage hinzufügen

In diesem Artikel erfahren Sie mehr über die Integration mit Outlook-Kalender.