Veröffentlichen von teamsApp

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Veröffentlichen Sie eine App im Microsoft Teams-App-Katalog. Insbesondere veröffentlicht diese API die App im Katalog Ihrer organization (dem Mandanten-App-Katalog); die erstellte Ressource verfügt über den Eigenschaftswert distributionMethod von organization.

Die requiresReview-Eigenschaft ermöglicht es jedem Benutzer, eine App zur Überprüfung durch einen Administrator zu übermitteln. Administratoren können diese Apps über diese API oder das Microsoft Teams Admin Center genehmigen oder ablehnen.

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

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter 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.ReadWrite.All, Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung Nicht unterstützt

Hinweis

Die Directory.ReadWrite.All-Berechtigung wird nur aus Gründen der 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

POST /appCatalogs/teamsApps

So veröffentlichen Sie eine App, die eine Überprüfung erfordert:

POST /appCatalogs/teamsApps?requiresReview={Boolean}

Abfrageparameter

Eigenschaft Typ Beschreibung
requiresReview Boolesch Dieser optionale Abfrageparameter löst den App-Überprüfungsprozess aus. Benutzer mit Administratorrechten können Apps übermitteln, ohne eine Überprüfung auszulösen. Wenn Benutzer vor der Veröffentlichung eine Überprüfung anfordern möchten, müssen sie requiresReview auf truefestlegen. Ein Benutzer mit Administratorrechten kann sich dafür entscheiden, requiresReview nicht festzulegen oder den Wert auf false festzulegen, und die App wird genehmigt und sofort veröffentlicht.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.
Content-Type application/zip. Erforderlich.

Anforderungstext

Fügen Sie im Anforderungstext eine Teams-ZIP-Manifestnutzlast ein. Weitere Informationen finden Sie unter Erstellen eines App-Pakets.

Jede App im App-Katalog muss über eine eindeutige Manifest-ID verfügen.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 200 OK Antwortcode und ein teamsApp-Objekt zurück. Wenn das App-Manifest Validierungsfehler aufweist, gibt die Anforderung eine Fehlerantwort mit Details zu den Schemafehlern zurück.

Beispiele

Beispiel 1: Veröffentlichen einer App im App-Katalog

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/appCatalogs/teamsApps
Content-type: application/zip

[Zip file containing a Teams app package]

Informationen zum Erstellen einer ZIP-Datei für eine Microsoft Teams-Anwendung finden Sie unter Erstellen eines App-Pakets.

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "displayName": "Test App",
  "distributionMethod": "organization"
}

Beispiel 2: Hochladen einer neuen Anwendung zur Überprüfung in den App-Katalog eines organization

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Location: https://graph.microsoft.com/beta/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps/$entity",
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "displayName": "Test App",
  "distributionMethod": "organization"
}

Beispiel 3: Genehmigen oder Ablehnen einer App mit ausstehender Überprüfung

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

PATCH https://graph.microsoft.com/beta/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=

{
  "publishingState":"published"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appCatalogs/teamsApps('a761ad07-22ef-4a53-9feb-2837c8ad4a84')/appDefinitions/$entity",
    "id": "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjUHVibGlzaGVk",
    "teamsAppId": "a761ad07-22ef-4a53-9feb-2837c8ad4a84",
    "azureADAppId": null,
    "displayName": "Ducks",
    "version": "1.1.8",
    "requiredResourceSpecificApplicationPermissions": [],
    "publishingState": "published",
    "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": null,
    "createdBy": null
}

Beispiel 4: Veröffentlichen einer App mit einem Fehler im App-Manifest im App-Katalog

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip

[Zip file containing a Teams app package]

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
    "error": {
        "code": "BadRequest",
        "message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
        "innerError": {
            "code": "UnableToParseTeamsAppManifest",
            "message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
            "details": [
                {
                    "code": "SchemaError_Required",
                    "message": "Required properties are missing from object: [].",
                    "target": "name"
                },
                {
                    "code": "SchemaError_Pattern",
                    "message": "String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
                    "target": "developer.websiteUrl"
                }
            ],
            "date": "2024-01-18T21:47:58",
            "request-id": "d1878136-bc88-421a-b342-c3d883db31a1",
            "client-request-id": "d1878136-bc88-421a-b342-c3d883db31a1"
        }
    }
}