Freigeben über


TeamsApp auflisten

Namespace: microsoft.graph

Listen Sie Apps aus dem Microsoft Teams-App-Katalog auf, einschließlich Apps aus dem Microsoft Teams Store und Apps aus dem App-Katalog Ihrer organization (der Mandanten-App-Katalog). Um Apps nur aus dem App-Katalog Ihrer organization abzurufen, geben Sie organization in der Anforderung als distributionMethod an.

Hinweis

Im Allgemeinen wird die ID einer teamsApp-Ressource vom Server generiert. Es ist nicht identisch mit der id , die in einem Teams-App-Manifest angegeben wird, es sei denn, seine distributionMethod ist store. In anderen Fällen wird die vom Entwickler als Teil des Teams-App-Manifests bereitgestellte ID in der ressource teamsApp als externalId gestempelt.

Wichtig

  • Derzeit wird diese API nur im Benutzerkontext und nicht in der Administratoransicht unterstützt.
  • Die Von dieser API zurückgegebenen Teams-Apps entsprechen den vom Administrator festgelegten App-Verwaltungsrichtlinien.
  • Nachdem die Teams-Apps veröffentlicht wurden, dauert es in der Regel 24 bis 48 Stunden, bis die Richtlinien angewendet werden, sodass einige Apps möglicherweise nicht sofort in den API-Ergebnissen angezeigt werden.
  • Weitere Informationen finden Sie unter App-Verwaltungsrichtlinien.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
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 Nicht unterstützt
Anwendung AppCatalog.Read.All AppCatalog.ReadWrite.All

Hinweis

Die Berechtigungen Directory.Read.All und Directory.ReadWrite.All werden nur aus Gründen der Abwärtskompatibilität unterstützt. Es wird empfohlen, dass Sie Ihre Lösungen so aktualisieren, dass sie eine alternative Berechtigung verwenden und diese Berechtigungen in Zukunft nicht mehr verwenden.

HTTP-Anforderung

GET /appCatalogs/teamsApps

Optionale Abfrageparameter

Diese Methode unterstützt die $filterOData-Abfrageparameter , $selectund $expand zum Anpassen der Antwort.

Die Verwendung von $expand=AppDefinitions gibt weitere Informationen zum Zustand der App zurück, z. B. publishingState, der die Überprüfung der App-Übermittlung status widerspiegelt und zurückgibt, ob eine App genehmigt, abgelehnt wird oder noch überprüft wird.

Anmerkung: Sie können nach jedem der Felder des teamsApp-Objekts filtern, um die Liste der Ergebnisse zu kürzen. Sie können beliebige der folgenden Filtervorgänge verwenden: Gleich, ungleich und oder nicht.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.

Anforderungstext

Geben Sie keinen Anforderungstext für diese Methode an.

Antwort

Wenn die Methode erfolgreich verläuft, werden der 200 OK Antwortcode und eine Liste der teamsApp-Objekte im Antworttext zurückgegeben.

Beispiele

Beispiel 1: Auflisten aller mandantenspezifischen Anwendungen

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

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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

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

Beispiel 2: Auflisten von Anwendungen mit einer bestimmten ID

Im folgenden Beispiel werden Anwendungen mit einer bestimmten ID aufgelistet.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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

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

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

Im folgenden Beispiel werden Anwendungen aufgelistet, die mit der im Teams-App-Manifest angegebenen ID übereinstimmen. Im Beispiel lautet cf1ba4c7-f94e-4d80-ba90-5594b641a8eedie Manifest-ID der Teams-App .

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$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 angegebenen 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 der Administrator die App genehmigt hat, und rejected bedeutet, dass der Administrator die App abgelehnt hat.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "value": [
    {
      "id": "876df28f-2e78-423b-94a5-44181bd0e225",
      "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
      "displayName": "Test App",
      "distributionMethod": "Organization",
      "appDefinitions": [
        {
          "id": "NGQyMGNiNDUtZWViYS00ZTEyLWE3YzktMGQ0NDgzYjYxNzU2IyMxLjAuMA==",
          "teamsAppId": "876df28f-2e78-423b-94a5-44181bd0e225",
          "displayName": "Test App",
          "version": "1.0.1",
          "publishingState": "published",
          "shortDescription": "Types Of Cards.",
          "description": "This sample shows the feature where user can send different types of cards using bot.",
          "lastModifiedDateTime": "2020-11-23T21:36:00.9437445Z",
          "createdBy": null 
        }
      ]
    }
  ]
}

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

Im folgenden Beispiel werden nur die Apps im Katalog aufgelistet, die einen Bot enthalten.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$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",
          "displayName": "Ducks-3",
          "version": "1.0.9",
          "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"
            }
          },
          "authorization": {
            "clientAppId": null,
            "requiredPermissionSet": {
              "resourceSpecificPermissions": []
            }
          },
          "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",
          "displayName": "Self-Install-App-E2E-Tests",
          "version": "6.0.0",
          "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"
            }
          },
          "authorization": {
            "clientAppId": null,
            "requiredPermissionSet": {
              "resourceSpecificPermissions": []
            }
          },
          "bot": {
            "id": "da7d471b-de7d-4152-8556-1cdf7a564f6c"
          }
        }
      ]
    }
  ]
}

Beispiel 6: Auflisten von Anwendungen mit einer bestimmten ID und Rückgabe nur der ressourcenspezifischen Berechtigungen, die für die App erforderlich sind

Im folgenden Beispiel werden die Apps mit einer bestimmten ID aufgelistet und die ressourcenspezifischen Berechtigungen zurückgegeben, die ihr zugeordnet sind.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

GET  https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=id+eq+'a5228c26-a9ae-4702-90e0-79a5246d2f7d'&$expand=appDefinitions($select=id,authorization)

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps(appDefinitions(id,authorization))",
  "value": [
    {
      "id": "a5228c26-a9ae-4702-90e0-79a5246d2f7d",
      "externalId": "a55ec032-36e9-4b60-b604-34b2fe55abf1",
      "displayName": "teamsDelegatedRscTests",
      "distributionMethod": "organization",
      "appDefinitions@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps('a5228c26-a9ae-4702-90e0-79a5246d2f7d')/appDefinitions(id,authorization)",
      "appDefinitions": [
        {
          "id": "YTUyMjhjMjYtYTlhZS00NzAyLTkwZTAtNzlhNTI0NmQyZjdkIyMxLjAuMCMjUHVibGlzaGVk",
          "authorization": {
            "clientAppId": "6ed63604-0ba7-4a28-bb3a-dda03ea18d54",
            "requiredPermissionSet": {
              "resourceSpecificPermissions": [
                {
                  "permissionValue": "Channel.Create.Group",
                  "permissionType": "application"
                },
                {
                  "permissionValue": "Channel.Delete.Group",
                  "permissionType": "application"
                },
                {
                  "permissionValue": "ChannelMeeting.ReadBasic.Group",
                  "permissionType": "delegated"
                }
              ]
            }
          }
        }
      ]
    }
  ]
}