Freigeben über


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

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 Feld ActivityGroupId in ActivityType ist keine Teilmenge des Felds Id 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. Für die API-basierte Compose-Erweiterung ist die apiResponseRenderingTemplateFile im App-Manifest nicht definiert.
ApiBasedComposeExtensionApiSpecificationFileNullOrEmpty Für die API-basierte Compose-Erweiterung muss apiSpecificationFile im Manifest definiert sein. Für die API-basierte Compose-Erweiterung ist die apiSpecificationFile im App-Manifest nicht definiert.
ApiBasedComposeExtensionManifestCommandIdsNotIncludedInOperationIdsOnApiSpecficationFile Befehls-IDs im Manifest sind in vorgangs-IDs in der API-Spezifikationsdatei nicht enthalten. Der Fehler, der auftritt, wenn die Befehls-IDs im App-Manifest nicht in Vorgangs-IDs in der API-Spezifikationsdatei enthalten sind.
ApiBasedComposeExtensionWithBotId Für die API-basierte Compose-Erweiterung kann keine botId definiert sein. Für die API-basierte Compose-Erweiterung ist botId im App-Manifest definiert.
ApiBasedComposeExtensionWithCanUpdateConfiguration Für die API-basierte Compose-Erweiterung kann canUpdateConfiguration nicht im Manifest definiert sein. Für die API-basierte Compose-Erweiterung ist 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. Für die API-basierte Compose-Erweiterung ist 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 ohne apiSecretRegistrationId, die im App-Manifest definiert ist.
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretServiceAuthConfiguration API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType hat keine apiSecretServiceConfiguration. Die API-basierte Compose-Erweiterung legt supportsSingleSignOn im App-Manifest nicht auf true fest.
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 in apiSpecificationFile definiert ist.
ApiSpecificationFileParameterContainUnsupportedSchemaType API-basierte Compose-Erweiterung verfügen über nicht unterstützte Parameterschematypen, die in apiSpecificationFile definiert sind. Arrays werden nicht unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der in der apiSpecificationFile 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 Medientyp, der im Anforderungstext in der apiSpecificationFile 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 in der apiSpecificationFile 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 in der apiSpecificationFile 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 in apiSpecificationFile 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 erforderlichen 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 Medientyp, der als Antwort in der apiSpecificationFile 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 HTTP-Protokoll in der apiSpecificationFile enthalten.
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 ungültige URL, die in apiSpecificationFile definiert ist.
BotBasedComposeExtensionApiResponseRenderingTemplateFileExists Für die botbasierte Compose-Erweiterung kann apiResponseRenderingTemplateFile nicht definiert sein. Die botbasierte Compose-Erweiterung verfügt über eine apiResponseRenderingTemplateFile-Eigenschaft, die im App-Manifest definiert ist.
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. Die appId ist keine GUID.
CommonAppIdIsRequiredField Das erforderliche Feld "ID" fehlt im Manifest. Die appId wird nicht angegeben.
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. Die privacyUrl fehlt 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. Für die API-basierte Compose-Erweiterung ist apiSecretServiceConfiguration im Manifest definiert.
MsftEntraAuthTypeComposeExtensionContainsNoMsftEntraConfiguration Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist microsoftEntraConfiguration nicht definiert. Für 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 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.
MsftEntraAuthTypeComposeExtensionWebApplicationInfoOrResourceNotDefined Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist keine webApplicationInfo oder Ressource im Manifest definiert. Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist webApplicationInfo oder ressource im App-Manifest nicht definiert.
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 im App-Manifest nicht 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 ist im App-Manifest definiert.
ReservedStaticTabNameShouldBeNull Die reservierte Registerkarte "Name"-Eigenschaft sollte nicht angegeben werden. Die reservierte eigenschaft staticTabs name wurde angegeben.
SchemaError_AdditionalItems Das Schema lässt keine zusätzlichen Elemente zu. Die App-Manifestdatei hat bei der überprüfung des Schemas für additionalItems einen Fehler bestanden.
SchemaError_AdditionalProperties Die Eigenschaft {0} wurde nicht definiert, und das Schema lässt keine zusätzlichen Eigenschaften zu. Die App-Manifestdatei ist bei der überprüfung des Schemas additionalProperties fehlgeschlagen. {0} Hier stellt die zusätzliche Eigenschaft dar.
SchemaError_AllOf JSON stimmt nicht mit allen Schemas aus "allOf" überein. Die App-Manifestdatei ist bei der allOf-Überprüfung des Schemas fehlgeschlagen.
SchemaError_AnyOf JSON stimmt mit keinem Schema aus "anyOf" überein. Die App-Manifestdatei konnte bei der Überprüfung des Schemas "anyOf" nicht ausgeführt werden.
SchemaError_Const Der Wert {0} stimmt nicht mit der Konstante {1}überein. Die App-Manifestdatei konnte bei der Const-Überprüfung des Schemas nicht erfolgreich ausgeführt werden. Hier stellt den Wert dar, {0} bei dem ein Fehler aufgetreten ist, und {1} stellt den richtigen Wert dar.
SchemaError_Contains Array enthält kein erforderliches Element. In der App-Manifestdatei ist die Überprüfung des Schemas nicht erfolgreich.
SchemaError_ContentEncoding Die Zeichenfolge {0} überprüft nicht anhand der Inhaltscodierung {1}. In der App-Manifestdatei ist bei der Überprüfung des Schemas contentEncoding ein Fehler aufgetreten. 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. Die App-Manifestdatei hat bei der Überprüfung des Schemas auf Abhängigkeiten einen Fehler bestanden. Hier stellt die -Eigenschaft dar, {0} bei der ein Fehler aufgetreten ist.
SchemaError_Else JSON stimmt nicht mit dem Schema von "else" überein. Die App-Manifestdatei ist bei der überprüfung des Schemas sonst nicht erfolgreich.
SchemaError_Enum Der Wert {0} ist in der Enumeration nicht definiert. Die App-Manifestdatei konnte bei der Enumerationsüberprüfung des Schemas nicht erfolgreich ausgeführt werden. Hier stellt den Wert dar, {0} der nicht in der Enumeration enthalten ist.
SchemaError_Format Die Zeichenfolge {0} überprüft nicht im Format {1}. Die App-Manifestdatei konnte bei der Formatüberprüfung des Schemas nicht erfolgreich ausgeführt werden. 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. Die App-Manifestdatei ist bei der ID-Überprüfung des Schemas fehlgeschlagen. {0} Hier stellt die ID des Schemas dar.
SchemaError_Maximum Integer {0} überschreitet den Maximalwert von {1}. Die App-Manifestdatei hat die maximale Überprüfung des Schemas nicht bestanden. 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}. Die App-Manifestdatei ist bei der überprüfung des Schemas für maximumItems 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}. Die App-Manifestdatei konnte bei der Überprüfung des Schemas maximumLength nicht erfolgreich ausgeführt werden. 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}. Die App-Manifestdatei hat bei der überprüfung des Schemas maximumProperties einen Fehler bestanden. {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}. Die App-Manifestdatei konnte bei der minimalen Überprüfung des Schemas nicht ausgeführt werden. 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}. Die App-Manifestdatei hat bei der überprüfung des Schemas minimumItems einen Fehler bestanden. {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}. Die App-Manifestdatei hat bei der MinimumLength-Überprüfung des Schemas einen Fehler bestanden. 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}. Die App-Manifestdatei hat bei der Überprüfung des Schemas minimumProperties einen Fehler bestanden. {0} Hier stellt die Anzahl der bereitgestellten Eigenschaften und {1} die minimal zulässigen Eigenschaften dar.
SchemaError_MultipleOf Integer {0} ist kein Vielfaches von {1}. Die App-Manifestdatei konnte bei der MultipleOf-Überprüfung des Schemas nicht erfolgreich ausgeführt werden. {0} Hier stellt den ganzzahligen Wert dar und {1} gibt das erforderliche Vielfache an.
SchemaError_Not JSON ist für das Schema von "not" gültig. In der App-Manifestdatei ist die Nichtüberprüfung des Schemas fehlgeschlagen.
SchemaError_OneOf JSON ist für mehrere Schemas aus "oneOf" gültig. Die App-Manifestdatei hat bei der oneOf-Überprüfung des Schemas einen Fehler aufgetreten.
SchemaError_Other Der Wert entspricht nicht dem Schema für diese Eigenschaft. Die App-Manifestdatei ist bei anderen nicht behandelten Überprüfungen des Schemas fehlgeschlagen.
SchemaError_Pattern Die Zeichenfolge {0} stimmt nicht mit dem RegEx-Muster "{1}" überein. Die App-Manifestdatei ist bei der Musterüberprüfung des Schemas 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. Die App-Manifestdatei hat bei der Überprüfung des Schemas patternProperties einen Fehler bestanden. {0} Hier stellt das Muster für die Eigenschaften dar.
SchemaError_Required Erforderliche Eigenschaften fehlen im -Objekt: {0}. Die App-Manifestdatei konnte bei der erforderlichen Überprüfung des Schemas nicht ausgeführt werden. {0} Stellt hier die erforderlichen Eigenschaften dar.
SchemaError_Then JSON stimmt nicht mit dem Schema von "then" überein. Die App-Manifestdatei ist bei der anschließenden Überprüfung des Schemas fehlgeschlagen.
SchemaError_Type Der Wert {0} weist nicht den erwarteten Typ auf {1}. In der App-Manifestdatei ist die Typüberprüfung des Schemas 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. Die App-Manifestdatei hat bei der uniqueItems-Überprüfung des Schemas einen Fehler aufgetreten.
SchemaError_Valid Bei der Überprüfung des Schemas tritt immer ein Fehler auf. Die App-Manifestdatei ist bei der gültigen Überprüfung des Schemas 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, die in der apiSpecificationFile definiert sind.
ShortDescriptionCannotBeEmpty Kurzbeschreibung 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.
StaticTabNameCouldNotBeEmpty Nicht reservierte staticTabs -Eigenschaft "Name" darf nicht leer sein. Die name-Eigenschaft staticTabs ist leer.
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/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"
        }
    }
}