Freigeben über


Veröffentlichen von teamsApp

Namespace: microsoft.graph

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

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. 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.ReadWrite.All, Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Nicht unterstützt 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.
  • Mit AppCatalog.Submit der Berechtigung können Sie Apps nur zur Überprüfung übermitteln und nicht im Katalog veröffentlichen.

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.

Fehlerantwort

Wenn Sie eine Anforderung zum Hochladen eines App-Manifests senden, das fehlende Informationen oder Fehler enthält, erhalten Sie eine Fehlermeldung, die den inneren Fehlercode UnableToParseTeamsAppManifestenthält. Die details-Eigenschaft des inneren Fehlers enthält den Fehlercode und die Fehlermeldung. In der folgenden Tabelle werden die Fehlercodes beschrieben, die möglicherweise auftreten.


Fehlerantwort
Fehlercode Fehlermeldung Beschreibung
ActivityGroupIdFromActivitiesTypeValidation Das ActivityGroupId-Feld in ActivityType muss eine Teilmenge des ID-Felds in ActivityGroup sein. Das ActivityGroupId Feld in ActivityType ist keine Teilmenge des Id Felds in ActivityGroup im App-Manifest.
ActivityTypesMustExistWithActivitiesGroupValidation Das Manifest sollte keine Aktivitätsgruppe enthalten, wenn Aktivitätstypen fehlen. Die ActivityGroup -Eigenschaft ist verfügbar, aber die ActivityType -Eigenschaft fehlt im App-Manifest.
ApiBasedComposeExtensionApiResponseRenderingTemplateFileNullOrEmpty Für die API-basierte Compose-Erweiterung muss apiResponseRenderingTemplateFile im Manifest definiert sein. Die API-basierte Compose-Erweiterung ist apiResponseRenderingTemplateFile nicht im App-Manifest definiert.
ApiBasedComposeExtensionApiSpecificationFileNullOrEmpty Für die API-basierte Compose-Erweiterung muss apiSpecificationFile im Manifest definiert sein. Die API-basierte Compose-Erweiterung ist apiSpecificationFile nicht im App-Manifest definiert.
ApiBasedComposeExtensionManifestCommandIdsNotIncludedInOperationIdsOnApiSpecficationFile Befehls-IDs im Manifest sind in vorgangs-IDs in der API-Spezifikationsdatei nicht enthalten. Der Fehler, der auftritt, wenn der Command Ids im App-Manifest nicht in der Operation Ids API-Spezifikationsdatei enthalten ist.
ApiBasedComposeExtensionWithBotId Für die API-basierte Compose-Erweiterung kann keine botId definiert sein. Die API-basierte Compose-Erweiterung wurde botId im App-Manifest definiert.
ApiBasedComposeExtensionWithCanUpdateConfiguration Für die API-basierte Compose-Erweiterung kann canUpdateConfiguration nicht im Manifest definiert sein. Die API-basierte Compose-Erweiterung wurde canUpdateConfiguration im App-Manifest definiert.
ApiBasedComposeExtensionWithNoParameter Für die API-basierte Compose-Erweiterung müssen Befehlsparameter im Manifest definiert sein. Für die API-basierte Compose-Erweiterung sind keine Befehlsparameter im App-Manifest definiert.
ApiSecretServiceAuthTypeComposeExtensionContainsMsftEntraConfiguration Für die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType ist microsoftEntraConfiguration definiert. Die API-basierte Compose-Erweiterung wurde microsoftEntraConfiguration im App-Manifest definiert.
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretRegistrationId Für die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType ist keine apiSecretRegistrationId definiert. Die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType, die nicht apiSecretRegistrationId im App-Manifest definiert ist.
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretServiceAuthConfiguration API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType hat keine apiSecretServiceConfiguration. Die API-basierte Compose-Erweiterung wird im App-Manifest nicht auf true festgelegtsupportsSingleSignOn.
ApiSpecificationFileContainUnsupportedHttpMethod DIE API-basierte Compose-Erweiterung verfügt über Server-URLs, für die eine nicht unterstützte HTTP-Methode für apiSpecificationFile definiert ist. Derzeit werden nur GET und POST unterstützt. Die API-basierte Compose-Erweiterung verfügt über eine nicht unterstützte http Methode, die apiSpecificationFilein definiert ist.
ApiSpecificationFileParameterContainUnsupportedSchemaType Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der für apiSpecificationFile definiert ist. Arrays werden nicht unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der apiSpecificationFilein definiert ist.
ApiSpecificationFileRequestBodyContainUnsupportedMediaType Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Medientyp, der im Anforderungstext in apiSpecificationFile definiert ist. Derzeit wird nur application/json unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten media Typ, der im Anforderungstext apiSpecificationFilein definiert ist.
ApiSpecificationFileRequestBodyContainUnsupportedSchemaType Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Schematyp, der im Anforderungstext in apiSpecificationFile definiert ist. Arrays werden derzeit nicht unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Schematyp, der im Anforderungstext apiSpecificationFileim definiert ist.
ApiSpecificationFileRequestBodySchemaContainKeywords API-basierte Compose-Erweiterung verfügt über Schlüsselwörter. Die API-basierte Compose-Erweiterung verfügt über Schlüsselwörter, die im Anforderungstext apiSpecificationFileim definiert sind.
ApiSpecificationFileRequiredParameterContainUnsupportedLocation Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterspeicherort, der in apiSpecificationFile für {0}definiert ist. Derzeit werden nur Pfad und Abfrage unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterspeicherort, der apiSpecificationFilein definiert ist.
ApiSpecificationFileRequiredParameterOrPropertyNotDefinedOnManifest API-basierte Compose-Erweiterung verfügen über erforderliche Parameter oder Eigenschaften {0} , die nicht im Manifest definiert sind. Die API-basierte Compose-Erweiterung verfügt über einen required Parameter, der nicht im App-Manifest definiert ist.
ApiSpecificationFileResponseContainUnsupportedMediaType Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Medientyp, der als Antwort auf apiSpecificationFile definiert ist. Derzeit werden nur Application/JSON unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten media Typ, der apiSpecificationFileals Antwort im definiert ist.
ApiSpecificationFileServerUrlsContainHttp Die API-basierte Compose-Erweiterung verfügt über Server-URLs, für die das HTTP-Protokoll in apiSpecificationFile definiert ist. Die API-basierte Compose-Erweiterung verfügt über Server-URLs, die das Protokoll im apiSpecificationFileenthaltenhttp.
ApiSpecificationFileServerUrlsContainInvalidUrl Die API-basierte Compose-Erweiterung verfügt über Server-URLs, die in apiSpecificationFile als ungültige URL definiert sind. Die API-basierte Compose-Erweiterung verfügt über eine invalid URL, die in definiert ist apiSpecificationFile.
BotBasedComposeExtensionApiResponseRenderingTemplateFileExists Für die botbasierte Compose-Erweiterung kann apiResponseRenderingTemplateFile nicht definiert sein. Die botbasierte Compose-Erweiterung verfügt über eine apiResponseRenderingTemplateFile im App-Manifest definierte Eigenschaft.
BotBasedComposeExtensionApiSpecificationFileExists Für die botbasierte Compose-Erweiterung kann apiSpecificationFile nicht definiert sein. Die botbasierte Compose-Erweiterung verfügt über eine API-Spezifikationsdatei, die im App-Manifest definiert ist.
BotBasedComposeExtensionBotIdNotGuid Die botbasierte Compose-Erweiterung muss über die GUID botId verfügen. Die botbasierte Compose-Erweiterung botId ist keine GUID.
BotIdIsNotGuid BotId ist kein GUID-Wert. Der BotId Wert im App-Manifest ist keine GUID.
CommonAppIdIsNotGuid Das Feld "ID" ist keine GUID im Manifest. Ist appId keine GUID.
CommonAppIdIsRequiredField Das erforderliche Feld "ID" fehlt im Manifest. Die appId wird nicht bereitgestellt.
CommonManifestVersionIsRequiredField Das erforderliche Feld im Manifest "Manifestversion" fehlt. Die Manifestversion wird nicht angegeben.
CommonSchemaUrlIsRequiredField Die Schema-URL muss vorhanden sein. Das Schema wird nicht bereitgestellt.
DashboardCardBothIconNameAndUrlPresent Das Symbol "Dashboardkarten" darf nicht sowohl den Symbolnamen als auch die URL enthalten. Das Symbol "Dashboardkarten" darf nicht sowohl den Symbolnamen als auch die URL enthalten.
DashboardCardEntityIdsAreNotUnique Dashboard Karte Entitäts-IDs sollten eindeutig sein. Die zurückgegebene Entitäts-ID für eine Dashboard Karte ist innerhalb des Manifests nicht eindeutig.
DeveloperNameIsRequiredField Das erforderliche Feld "Entwicklername" fehlt im Manifest. Der Entwicklername wird nicht angegeben.
DeveloperNameLengthCheck Die maximale Zeichenlänge darf 32 Zeichen nicht überschreiten. Der Entwicklername ist mehr als 32 Zeichen lang.
DeveloperPrivacyUrlIsRequiredField Das Pflichtfeld "privacyUrl" fehlt im Manifest. Fehlt privacyUrl im App-Manifest.
DeveloperPrivacyUrlMustBeHttps Die Datenschutz-URL muss gesichert sein Support-URL (HTTPS). Die Datenschutz-URL des Entwicklers hat kein HTTPS verwendet.
DeveloperTermsOfUseUrlIsRequiredField Das erforderliche Feld "termsOfUseUrl" fehlt im Manifest. Die termsOfUseUrl fehlt im Manifest.
DeveloperTermsOfUseUrlMustBeHttps Die URL der Nutzungsbedingungen muss gesicherte Support-URL (HTTPS) sein. Die URL für die Nutzungsbedingungen für Entwickler hat https nicht verwendet.
DeveloperWebsiteUrlIsRequiredField Das Erforderliche Feld "websiteUrl" fehlt im Manifest. Die URL der Entwicklerwebsite fehlt.
DeveloperWebsiteUrlMustBeHttps Die Website-URL muss gesichert sein Support-URL (HTTPS). Die URL der Entwicklerwebsite hat kein HTTPS verwendet.
FullDescriptionCannotBeEmpty Die vollständige Beschreibung darf nicht leer sein. Die vollständige Beschreibung ist leer.
FullDescriptionLengthCheck Die maximale Zeichenlänge für lange Beschreibungen darf 4.000 Zeichen nicht überschreiten. Die vollständige Beschreibungslänge beträgt mehr als 4.000 Zeichen.
GroupChatForBotsLessThanV13 Aktualisieren Sie die Manifestversion auf V1.3, da der Gruppenchat-Bot ab Manifest v1.3 unterstützt wird. Der groupChat Bereich für Bots wird in der App-Manifestversion 1.3 und niedriger nicht unterstützt.
GroupChatForConfigurableTabsLessThanV13 Aktualisieren Sie die Manifestversion auf V1.3, da konfigurierbare Registerkarten für Gruppenchats ab Manifest v1.3 unterstützt werden. Der groupChat Bereich für konfigurierbare Registerkarten wird in der App-Manifestversion 1.3 und niedriger nicht unterstützt.
InvalidColor32x32IconHeightAndWidth Das Farbsymbol 32x32 sollte 32 x 32 sein und nur weiß und transparent sein. Das Farbsymbol 32x32 weist nicht die richtigen Abmessungen auf.
InvalidColorIconHeightAndWidth Das Farbsymbol entspricht nicht der erforderlichen Dimension. Die Abmessungen des Farbsymbols sind falsch.
InvalidOutlineIconHeightAndWidth Kleines Symbol sollte 32 x 32 sein und nur weiß und transparent sein. Die Abmessungen des Gliederungssymbols sind falsch.
InvalidOutlineIconTransparency Das Gliederungssymbol ist nicht transparent. Es ist Alpha. Das Gliederungssymbol enthält Pixel, die weder transparent noch weiß sind, mit Alpha-, R-, G-, B-Werten von {0}, {1}, {2}und {3}.
MsftEntraAuthTypeComposeExtensionContainsApiSecretServiceConfiguration Api-basierte Compose-Erweiterung mit microsoftEntra authType ist apiSecretServiceConfiguration definiert. Die API-basierte Compose-Erweiterung wurde apiSecretServiceConfiguration im Manifest definiert.
MsftEntraAuthTypeComposeExtensionContainsNoMsftEntraConfiguration Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist microsoftEntraConfiguration nicht definiert. Die API-basierte Compose-Erweiterung ist microsoftEntraConfiguration im App-Manifest nicht definiert.
MsftEntraAuthTypeComposeExtensionResourceURLNotMatchServerURLOnApiSpec Die API-basierte Compose-Erweiterung mit microsoftEntra authType-Ressourcen-URL im Manifest stimmt nicht mit der Server-URL in der API-Spezifikationsdatei überein. Die API-basierte Compose-Erweiterung mit microsoftEntra der authType-Ressourcen-URL im App-Manifest stimmt nicht mit der Server-URL in der API-Spezifikationsdatei überein.
MsftEntraAuthTypeComposeExtensionSupportsSingleSignOnFalse Die API-basierte Compose-Erweiterung mit microsoftEntra authType legt supportsSingleSignOn nicht auf true fest. Die API-basierte Compose-Erweiterung legt supportsSingleSignOn im App-Manifest nicht auf true fest.
NoAuthTypeComposeExtensionContainsAuthConfiguration Für die API-basierte Compose-Erweiterung ohne authType ist eine Authentifizierungskonfiguration definiert. Die API-basierte Compose-Erweiterung mit authType microsoftEntraConfiguration oder apiSecretServiceConfiguration ist nicht im App-Manifest definiert.
ParameterOnManifestNotDefinedOnApiSpecFile DIE API-basierte Compose-Erweiterung verfügt über Parameter {0} für das Manifest, die in der API-Spezifikationsdatei nicht definiert sind. Die API-basierten Compose-Erweiterungsparameter im App-Manifest sind nicht in der API-Spezifikationsdatei definiert.
ReservedActivitiesValidation Das Manifest sollte keinen reservierten Aktivitätstyp "systemDefault" enthalten. Der systemDefault Aktivitätstyp wird im App-Manifest definiert.
ReservedStaticTabNameShouldBeNull Die reservierte Registerkarte "Name"-Eigenschaft sollte nicht angegeben werden. Die Eigenschaft reservierter staticTabs Name wurde angegeben.
SchemaError_AdditionalItems Das Schema lässt keine zusätzlichen Elemente zu. Bei der Überprüfung des Schemas ist die additionalItems App-Manifestdatei fehlgeschlagen.
SchemaError_AdditionalProperties Die Eigenschaft {0} wurde nicht definiert, und das Schema lässt keine zusätzlichen Eigenschaften zu. Bei der Überprüfung des Schemas ist die additionalProperties App-Manifestdatei fehlgeschlagen. {0} Hier stellt die zusätzliche Eigenschaft dar.
SchemaError_AllOf JSON stimmt nicht mit allen Schemas aus "allOf" überein. Bei der Überprüfung des Schemas ist die allOf App-Manifestdatei fehlgeschlagen.
SchemaError_AnyOf JSON stimmt mit keinem Schema aus "anyOf" überein. Bei der Überprüfung des Schemas ist die anyOf App-Manifestdatei fehlgeschlagen.
SchemaError_Const Der Wert {0} stimmt nicht mit der Konstante {1}überein. Bei der Überprüfung des Schemas ist die const App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} bei dem ein Fehler aufgetreten ist, und {1} stellt den richtigen Wert dar.
SchemaError_ContentEncoding Die Zeichenfolge {0} überprüft nicht anhand der Inhaltscodierung {1}. Bei der Überprüfung des Schemas ist die contentEncoding App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die nicht mit der Inhaltscodierung übereinstimmt, und {1} stellt die erwartete Inhaltscodierung dar.
SchemaError_Dependencies Fehler bei Abhängigkeiten für die Eigenschaft {0} . Fehlende erforderliche Schlüssel. Bei der Überprüfung des Schemas ist die dependencies App-Manifestdatei fehlgeschlagen. Hier stellt die -Eigenschaft dar, {0} bei der ein Fehler aufgetreten ist.
SchemaError_Else JSON stimmt nicht mit dem Schema von "else" überein. Bei der Überprüfung des Schemas ist die else App-Manifestdatei fehlgeschlagen.
SchemaError_Enum Der Wert {0} ist in der Enumeration nicht definiert. Bei der Überprüfung des Schemas ist die enum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der nicht in der Enumeration enthalten ist.
SchemaError_Format Die Zeichenfolge {0} überprüft nicht im Format {1}. Bei der Überprüfung des Schemas ist die format App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die nicht im erwarteten Format vorliegt, und {1} stellt das erwartete Format dar.
SchemaError_Id Doppelte Schema-ID {0} gefunden. Bei der Überprüfung des Schemas ist die id App-Manifestdatei fehlgeschlagen. {0} Hier stellt die des id Schemas dar.
SchemaError_Maximum Integer {0} überschreitet den Maximalwert von {1}. Bei der Überprüfung des Schemas ist die maximum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der den maximalen Grenzwert überschreitet, und {1} stellt den maximalen Grenzwert dar.
SchemaError_MaximumItems Die Arrayelementanzahl {0} überschreitet die maximale Anzahl von {1}. Bei der Überprüfung des Schemas ist die maximumItems App-Manifestdatei fehlgeschlagen. {0} Hier stellt die Anzahl der Elemente im Array und {1} den maximal zulässigen Wert dar.
SchemaError_MaximumLength String {0} überschreitet die maximale Länge von {1}. Bei der Überprüfung des Schemas ist die maximumLength App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die die maximale Länge überschreitet, und {1} stellt die maximale Länge dar.
SchemaError_MaximumProperties Die Anzahl {0} der Objekteigenschaften überschreitet die maximale Anzahl von {1}. Bei der Überprüfung des Schemas ist die maximumProperties App-Manifestdatei fehlgeschlagen. {0} Hier stellt die Anzahl der bereitgestellten Eigenschaften und {1} die maximal zulässigen Eigenschaften dar.
SchemaError_Minimum Die ganze Zahl {0} ist kleiner als der Mindestwert von {1}. Bei der Überprüfung des Schemas ist die minimum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der den Minimalgrenzwert überschreitet, und {1} stellt den Minimalgrenzwert dar.
SchemaError_MinimumItems Die Arrayelementanzahl {0} ist kleiner als die Mindestanzahl von {1}. Bei der Überprüfung des Schemas ist die minimumItems App-Manifestdatei fehlgeschlagen. {0} Hier stellt die Anzahl der Elemente im Array und {1} den minimal zulässigen Wert dar.
SchemaError_MinimumLength Die Zeichenfolge {0} ist kleiner als die Mindestlänge von {1}. Bei der Überprüfung des Schemas ist die minimumLength App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die kleiner als die Mindestlänge ist, und {1} stellt das Minimum dar.
SchemaError_MinimumProperties Die Anzahl {0} der Objekteigenschaften ist kleiner als die Mindestanzahl von {1}. Bei der Überprüfung des Schemas ist die minimumProperties App-Manifestdatei fehlgeschlagen. {0} Hier stellt die Anzahl der bereitgestellten Eigenschaften und {1} die minimal zulässigen Eigenschaften dar.
SchemaError_Not JSON ist für das Schema von "not" gültig. Bei der Überprüfung des Schemas ist die not App-Manifestdatei fehlgeschlagen.
SchemaError_OneOf JSON ist für mehrere Schemas aus "oneOf" gültig. Bei der Überprüfung des Schemas ist die oneOf App-Manifestdatei fehlgeschlagen.
SchemaError_Pattern Die Zeichenfolge {0} stimmt nicht mit dem RegEx-Muster "{1}" überein. Bei der Überprüfung des Schemas ist die pattern App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der nicht mit dem Muster übereinstimmt, und {1} stellt das erwartete Muster dar.
SchemaError_PatternProperties Eigenschaftennamen mit dem RegEx-Muster "{0}" konnten nicht getestet werden. Bei der Überprüfung des Schemas ist die patternProperties App-Manifestdatei fehlgeschlagen. {0} Hier stellt das Muster für die Eigenschaften dar.
SchemaError_Required Erforderliche Eigenschaften fehlen im -Objekt: {0}. Bei der Überprüfung des Schemas ist die required App-Manifestdatei fehlgeschlagen. {0} Stellt hier die erforderlichen Eigenschaften dar.
SchemaError_Then JSON stimmt nicht mit dem Schema von "then" überein. Bei der Überprüfung des Schemas ist die then App-Manifestdatei fehlgeschlagen.
SchemaError_Type Der Wert {0} weist nicht den erwarteten Typ auf {1}. Bei der Überprüfung des Schemas ist die type App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die sich nicht im erwarteten Typ befindet, und {1} stellt den erwarteten Typ dar.
SchemaError_UniqueItems Array enthält Elemente, die nicht eindeutig sind. Bei der Überprüfung des Schemas ist die uniqueItems App-Manifestdatei fehlgeschlagen.
SchemaError_Valid Bei der Überprüfung des Schemas tritt immer ein Fehler auf. Bei der Überprüfung des Schemas ist die valid App-Manifestdatei fehlgeschlagen.
Serialization_FileMissing Die Datei {0} wurde im App-Paket nicht gefunden. Die erwartete Datei fehlt im App-Paket.
Serialization_FileNotValidJson Die Datei konnte nicht als JSON-Objekt analysiert werden. Die übermittelte Datei entsprach nicht einem gültigen JSON-Format.
Serialization_ManifestVersionPropertyMissing Die Datei enthält nicht die Eigenschaft "{0}". Die manifestVersion-Eigenschaft fehlt in der App-Manifestdatei. {0} Hier stellt die Zeichenfolge für die manifestVersion-Eigenschaft dar.
Serialization_TrailingCommaInManifestJsonFile Die JSON-Manifestdatei enthält nachgestelltes Komma. Die App-Manifestdatei enthält ein nachfolgendes Komma.
ServerUrlsMissingOnApiSpecificationFile Für die API-basierte Compose-Erweiterung sind keine Server-URLs in apiSpecificationFile definiert. Der fehler, der auftritt Die API-basierte Compose-Erweiterung hat keine Server-URLs definiert in apiSpecificationFile.
ShortDescriptionCannotBeEmpty Kurze Beschreibung darf nicht leer sein. Die kurze Beschreibung war leer.
ShortDescriptionLengthCheck Die maximale Zeichenlänge für kurze Beschreibungen darf 80 Zeichen nicht überschreiten. Die kurze Beschreibung ist mehr als 80 Zeichen lang.
ShortNameEqualsReservedName Der Kurzname der App kann nicht reserviert sein. Der Kurzname ist ein reservierter Name.
ShortNameIsRequiredField Der Kurzname der App darf nicht leer sein. Der Kurzname ist leer.
ShortNameLengthCheck Die maximale Zeichenlänge für Short Name darf 30 Zeichen nicht überschreiten. Der Kurzname überschreitet 30 Zeichen.
UniqueActivityTypeInActivitiesValidation Das Manifest darf keinen doppelten Aktivitätstyp enthalten. Der Aktivitätstyp ist im App-Manifest nicht eindeutig.
UniqueIdInActivitiesGroupValidation Das Manifest sollte keine doppelte ID in Activity Gruppen enthalten. Die Aktivitätsgruppen-ID ist im App-Manifest nicht eindeutig.
VersionCannotBeEmpty Das erforderliche Feld "Version" fehlt im Manifest. Die App-Paketversion fehlt.
VersionContainsOnlyNumbersDotSeparated Die App-Version unterstützt nur Zahlen im Format "#.#.#". Die Version im App-Paket wird nicht durch das Muster abgeglichen. #.#.#
VersionHasMajorLessThan1 Die App-Version sollte nicht mit "0" beginnen. Beispielsweise sind 0.0.1 oder 0.1 keine gültigen App-Versionen und 1.0 / 1.5.1 / 1.0.0 / 2.5.0 gültige App-Versionen. Im Falle einer neuen Aktualisierung im Manifest für eine vorhandene App im Store. Die App-Version ist kleiner als 1.0. Sie müssen ihre App-Version aktualisieren. Wenn beispielsweise die aktuelle Version Ihrer App im Store 1.0 ist und Sie ein Update zur Überprüfung übermitteln, muss die App-Version höher als 1.0 sein.

Beispiele

Beispiel 1: Veröffentlichen einer App 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]

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/v1.0/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/v1.0/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$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/v1.0/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/v1.0/$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 im App-Katalog mit einem Fehler im App-Manifest

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"
        }
    }
}