teamsApp auflisten

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Apps aus dem Microsoft Teams App-Katalog auflisten. Dazu gehören Apps aus dem Microsoft Teams Store sowie Apps aus dem App-Katalog Ihrer Organisation (dem Mandanten-App-Katalog). Wenn Sie nur Apps aus dem App-Katalog Ihrer Organisation abrufen möchten, geben Sie organization als distributionMethod in der Anforderung an.

Hinweis

Die id einer teamsApp-Ressource wird vom Server generiert und entspricht nicht der id in einem Teams-App-Manifest angegebenen. Die id vom Entwickler als Teil des Teams App-Manifests bereitgestellte Datei wird als die in der externalId teamsApp-Ressource angegebene Ressource gestempelt.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) AppCatalog.Submit, AppCatalog.Read.All, AppCatalog.ReadWrite.All, Directory.Read.All , Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung AppCatalog.Read.All, AppCatalog.ReadWrite.All

Hinweis: Mit ** markierte Berechtigungen werden nur für die Abwärtskompatibilität unterstützt. Es wird empfohlen, Ihre Lösungen zu aktualisieren, sodass sie eine alternative Berechtigung verwenden, die in der vorherigen Tabelle aufgeführt ist, und diese Berechtigungen in Zukunft nicht mehr verwenden.

HTTP-Anforderung

GET /appCatalogs/teamsApps

Optionale Abfrageparameter

Diese Methode unterstützt die OData-Abfrageparameter $filter, $select und $expand zur Anpassung der Antwort.

Die Verwendung $expand=AppDefinitions gibt weitere Informationen über den Status der App zurück, z. B. " publishingState", der den Status der App-Übermittlungsüberprüfung widerspiegelt und zurückgibt, ob eine App genehmigt, abgelehnt wurde oder überprüft wird.

Hinweis: Sie können nach allen Feldern des teamsApp-Objekts filtern, um die Ergebnisliste zu kürzen. Sie können einen der folgenden Filtervorgänge verwenden: "Gleich", "Ungleich" und "Oder" und "Nicht".

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich.

Anforderungstext

Geben Sie für diese Methode keinen Anforderungstext an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode den 200 OK Antwortcode und eine Liste der teamsApp-Objekte im Antworttext zurück.

Beispiele

Beispiel 1: Auflisten aller Anwendungen, die für den Mandanten spezifisch sind

Im folgenden Beispiel werden alle Anwendungen aufgelistet, die für Ihren Mandanten spezifisch sind.

Anforderung

GET https://graph.microsoft.com/beta/appCatalogs/teamsApps?$filter=distributionMethod eq 'organization'

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "b1c5353a-7aca-41b3-830f-27d5218fe0e5",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization"
    }
  ]
}

Beispiel 2: Auflisten von Anwendungen mit einer bestimmten ID

Im folgenden Beispiel werden Anwendungen mit einer bestimmten ID aufgelistet.

Anforderung

GET https://graph.microsoft.com/beta/appCatalogs/teamsApps?$filter=id%20eq%20'b1c5353a-7aca-41b3-830f-27d5218fe0e5'

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "b1c5353a-7aca-41b3-830f-27d5218fe0e5",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization"
    }
  ]
}

Beispiel 3: Suchen der Anwendung basierend auf der Teams App-Manifest-ID

Im folgenden Beispiel werden Anwendungen aufgelistet, die der im Teams App-Manifest angegebenen "ID" entsprechen. In dem Beispiel lautet die Manifest-ID der Teams-App ‚cf1ba4c7-f94e-4d80-ba90-5594b641a8ee‘.

Anforderung

GET  https://graph.microsoft.com/beta/appCatalogs/teamsApps?$filter=externalId eq 'cf1ba4c7-f94e-4d80-ba90-5594b641a8ee'

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps",
    "value": [
        {
            "id": "22f73bbe-f67a-4dea-bd54-54cac718cb2b",
            "externalId": "cf1ba4c7-f94e-4d80-ba90-5594b641a8ee",
            "displayName": "YPA",
            "distributionMethod": "organization"
        }
    ]
  }

Beispiel 4: Auflisten von Anwendungen mit einer bestimmten ID und Zurückgeben des Übermittlungsüberprüfungsstatus

Im folgenden Beispiel werden Anwendungen mit einer bestimmten ID aufgelistet und appDefinitions erweitert, um den publishingState zurückzugeben, der den Übermittlungsüberprüfungsstatus der App widerspiegelt. Submitted bedeutet, dass die Überprüfung aussteht, bedeutet, published dass die App vom Administrator genehmigt wurde und rejected bedeutet, dass die App vom Administrator abgelehnt wurde.

Anforderung

GET  https://graph.microsoft.com/beta/appCatalogs/teamsApps?$filter=id eq '876df28f-2e78-423b-94a5-44181bd0e225'&$expand=appDefinitions

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": [
    {
      "id": "876df28f-2e78-423b-94a5-44181bd0e225",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "name": "Test App",
      "version": "1.0.1",
      "distributionMethod": "Organization",
      "appDefinitions": [
        {
          "id": "NGQyMGNiNDUtZWViYS00ZTEyLWE3YzktMGQ0NDgzYjYxNzU2IyMxLjAuMA==",
          "teamsAppId": "876df28f-2e78-423b-94a5-44181bd0e225",
          "azureADAppId": null,
          "displayName": "Test App",
          "version": "1.0.1",
          "requiredResourceSpecificApplicationPermissions": [],
          "publishingState": "published"
        }
      ]
    }
  ]
}

Beispiel 5: Auflisten der Details nur der Apps im Katalog, die einen Bot enthalten

Im folgenden Beispiel werden nur die Apps im Katalog aufgeführt, die einen Bot enthalten.

Anforderung

GET  https://graph.microsoft.com/beta/appCatalogs/teamsApps?$expand=appDefinitions($expand=bot)&$filter=appDefinitions/any(a:a/bot ne null)

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps(appDefinitions(bot()))",
    "value": [
        {
            "id": "8a1ed7a3-5c78-46b2-8504-f9da00a1d1a6",
            "externalId": "3CAB7543-216D-47C6-986C-6247670F4663",
            "displayName": "Ducks-3",
            "distributionMethod": "organization",
            "appDefinitions": [
                {
                    "@odata.etag": "ImNOTW1CR2V1VzgwczlEblVidU00UHc9PSI=",
                    "id": "OGExZWQ3YTMtNWM3OC00NmIyLTg1MDQtZjlkYTAwYTFkMWE2IyMxLjAuOSMjUmVqZWN0ZWQ=",
                    "teamsAppId": "8a1ed7a3-5c78-46b2-8504-f9da00a1d1a6",
                    "azureADAppId": null,
                    "displayName": "Ducks-3",
                    "version": "1.0.9",
                    "requiredResourceSpecificApplicationPermissions": [],
                    "publishingState": "rejected",
                    "shortdescription": "quaerat quasi magnam. slight change. 5",
                    "description": "Aliquid placeat animi debitis accusamus. Non perferendis ullam. Quis est consequuntur vitae provident. Sunt laudantium id aut. slight change 5",
                    "lastModifiedDateTime": "2020-11-23T21:36:00.9437445Z",
                    "createdBy": {
                        "application": null,
                        "device": null,
                        "conversation": null,
                        "user": {
                            "id": "70292a90-d2a7-432c-857e-55db6d8f5cd0",
                            "displayName": null,
                            "userIdentityType": "aadUser"
                        }
                    },
                    "bot": {
                        "id": "bb9f67a4-893b-48d7-ab17-40ed466c0f16"
                    }
                }
            ]
        },
        {
            "id": "30909dee-f7dd-4f89-8b3b-55de2e32489c",
            "externalId": "0ebd3f4d-ca91-495b-a227-a17d298e22cc",
            "displayName": "Self-Install-App-E2E-Tests",
            "distributionMethod": "organization",
            "appDefinitions": [
                {
                    "@odata.etag": "IkwzVDlMOTBSSEdTMFducHUyYkpjVmc9PSI=",
                    "id": "MzA5MDlkZWUtZjdkZC00Zjg5LThiM2ItNTVkZTJlMzI0ODljIyM2LjAuMCMjU3VibWl0dGVk",
                    "teamsAppId": "30909dee-f7dd-4f89-8b3b-55de2e32489c",
                    "azureADAppId": "d75abc57-8255-4309-9c29-a3c689e20341",
                    "displayName": "Self-Install-App-E2E-Tests",
                    "version": "6.0.0",
                    "requiredResourceSpecificApplicationPermissions": [],
                    "publishingState": "submitted",
                    "shortdescription": "A conversational smart assistant from MSX that surfaces real-time insights.",
                    "description": "For MSX Users: A conversational role-based smart assistant that will enable Enterprise sellers (AE, ATS, SSP, TSP) to be more productive by surfacing real-time insights, recommendations, actions and notifications, and by automating repetitive tasks.",
                    "lastModifiedDateTime": "2020-08-25T18:40:13.035341Z",
                    "createdBy": {
                        "application": null,
                        "device": null,
                        "conversation": null,
                        "user": {
                            "id": "c071a180-a220-43a1-adaf-e8db95c4a7d6",
                            "displayName": null,
                            "userIdentityType": "aadUser"
                        }
                    },
                    "bot": {
                        "id": "da7d471b-de7d-4152-8556-1cdf7a564f6c"
                    }
                }
            ]
        }
    ]
}

Beispiel 6: Auflisten der Details von Apps, die nach App-Installationsumfang gefiltert wurden

Im folgenden Beispiel werden nur die Apps aufgelistet, die im persönlichen Bereich eines Benutzers installiert werden können.

Anforderung

GET  https://graph.microsoft.com/beta/appCatalogs/teamsApps?$expand=appDefinitions($select=id,displayName,allowedInstallationScopes)&$filter=appDefinitions/any(a:a/allowedInstallationScopes has 'personal')

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps(appDefinitions(id,displayName,allowedInstallationScopes))",
    "value": [
        {
            "id": "5a542e1c-5f8c-4793-8b0c-6082464b2378",
            "externalId": "4b3ec336-b998-4623-9e25-d4182fb82159",
            "displayName": "Carriage",
            "distributionMethod": "organization",
            "appDefinitions": [
                {
                    "id": "MWE1NDJlMWMtNWY4Yy00NzkzLThiMGMtNjA4MjQ2NGIyMzc4IyMxLjAuMCMjUHVibGlzaGVk",
                    "displayName": "Carriage",
                    "allowedInstallationScopes": "personal"
                }
            ]
        }
    ]
}

Siehe auch