TeamsApp veröffentlichen

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 einer App im Microsoft Teams-App-Katalog. Insbesondere veröffentlicht diese API die App im Katalog Ihrer organization (dem Mandanten-App-Katalog); die erstellte Ressource hat einen distributionMethod-Eigenschaftswert 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.

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.ReadWrite.All, Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application Nicht unterstützt Nicht unterstützt

Hinweis

  • Die Berechtigung wird nur aus Gründen der Directory.ReadWrite.All 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.
  • Die AppCatalog.Submit Berechtigung erlaubt es Ihnen, Apps nur zur Überprüfung zu übermitteln, nicht um sie im Katalog zu veröffentlichen.

HTTP-Anforderung

POST /appCatalogs/teamsApps

So veröffentlichen Sie eine App, die überprüft werden muss:

POST /appCatalogs/teamsApps?requiresReview={Boolean}

Abfrageparameter

Eigenschaft Typ Beschreibung
requiresReview Boolean 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 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 Authentifizierung und Autorisierung.
Content-Type application/zip. Erforderlich.

Anforderungstext

Fügen Sie im Anforderungstext eine Teams-ZIP-Manifest-Nutzlast ein. Ausführliche 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 diese Methode einen 200 OK Antwortcode und ein teamsApp-Objekt zurück. Wenn das App-Manifest Überprüfungsfehler 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 mit dem inneren Fehlercode UnableToParseTeamsAppManifest. 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 Feld "ActivityGroupId" in "ActivityType" muss eine Teilmenge des Felds "ID" 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 API-basierte Compose-Erweiterung muss apiResponseRenderingTemplateFile im Manifest definiert haben. Für die API-basierte Compose-Erweiterung ist die apiResponseRenderingTemplateFile nicht im App-Manifest definiert.
ApiBasedComposeExtensionApiSpecificationFileNullOrEmpty API-basierte Compose-Erweiterung muss apiSpecificationFile auf dem Manifest definiert haben. Für die API-basierte Compose-Erweiterung ist die apiSpecificationFile nicht im App-Manifest definiert.
ApiBasedComposeExtensionManifestCommandIdsNotIncludedInOperationIdsOnApiSpecficationFile Befehls-IDs im Manifest sind nicht in den Vorgangs-IDs in der API-Spezifikationsdatei enthalten. Der Fehler, der auftritt, wenn die Befehls-IDs im App-Manifest nicht in den Vorgangs-IDs der API-Spezifikationsdatei enthalten sind.
ApiBasedComposeExtensionWithBotId Für die API-basierte Compose-Erweiterung darf keine botId definiert werden. Für die API-basierte Compose-Erweiterung ist botId im App-Manifest definiert.
ApiBasedComposeExtensionWithCanUpdateConfiguration Für API-basierte Compose-Erweiterungen kann canUpdateConfiguration nicht im Manifest definiert werden. Für die API-basierte Compose-Erweiterung ist canUpdateConfiguration im App-Manifest definiert.
ApiBasedComposeExtensionWithNoParameter API-basierte Erweiterung zum Verfassen muss über Befehlsparameter verfügen, die im Manifest definiert sind. Für die API-basierte Compose-Erweiterung sind keine Befehlsparameter im App-Manifest definiert.
ApiSecretServiceAuthTypeComposeExtensionContainsMsftEntraConfiguration API-basierte Erweiterung zum Verfassen mit apiSecretServiceAuth authType haben microsoftEntraConfiguration definiert. Für die API-basierte Compose-Erweiterung ist microsoftEntraConfiguration im App-Manifest definiert.
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretRegistrationId API-basierte Compose-Erweiterung mit apiSecretServiceAuth-authType haben keine apiSecretRegistrationId definiert. Die API-basierte Compose-Erweiterung mit apiSecretServiceAuth-authType, ohne dass apiSecretRegistrationId im App-Manifest definiert ist.
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretServiceAuthConfiguration API-basierte Compose-Erweiterung mit apiSecretServiceAuth-authType have no apiSecretServiceConfiguration. Die API-basierte Erweiterung zum Verfassen legt supportsSingleSignOn im App-Manifest nicht auf "true" fest.
ApiSpecificationFileContainUnsupportedHttpMethod API-basierte Compose-Erweiterung verfügen über Server-URLs, für die eine nicht unterstützte HTTP-Methode in 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 der apiSpecificationFile definiert ist.
ApiSpecificationFileParameterContainUnsupportedSchemaType API-basierte Compose-Erweiterung haben einen nicht unterstützten Parameterschematyp, der in apiSpecificationFile.Arrays wird nicht unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der in der apiSpecificationFile definiert ist.
ApiSpecificationFileRequestBodyContainUnsupportedMediaType 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 API-basierte Compose-Erweiterung haben einen nicht unterstützten Schematyp, der im Anforderungstext in apiSpecificationFile definiert ist. Derzeit werden Arrays 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 Erweiterung zum Verfassen Schlüsselwörter enthalten. Die API-basierte Compose-Erweiterung verfügt über Schlüsselwörter, die im Anforderungstext in der apiSpecificationFile definiert sind.
ApiSpecificationFileRequiredParameterContainUnsupportedLocation API-basierte Compose-Erweiterung haben einen nicht unterstützten Parameterspeicherort in apiSpecificationFile für {0}definiert. Derzeit werden nur Pfad und Abfrage unterstützt. Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterspeicherort, der in der apiSpecificationFile definiert ist.
ApiSpecificationFileRequiredParameterOrPropertyNotDefinedOnManifest API-basierte Erweiterung zum Verfassen verfügen über erforderliche Parameter oder Eigenschaften {0} , die nicht im Manifest definiert sind. Die API-basierte Erweiterung zum Verfassen verfügt über einen erforderlichen Parameter, der nicht im App-Manifest definiert ist.
ApiSpecificationFileResponseContainUnsupportedMediaType API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Medientyp, der als Antwort auf apiSpecificationFile definiert wurde. Derzeit wird 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 API-basierte Compose-Erweiterungen verfügen ü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 API-basierte Compose-Erweiterung verfügen über Server-URLs, bei denen es sich um ungültige URLs handelt, die in apiSpecificationFile definiert sind. Die API-basierte Compose-Erweiterung verfügt über eine ungültige URL, die in der apiSpecificationFile definiert ist.
BotBasedComposeExtensionApiResponseRenderingTemplateFileExists Für die botbasierte Compose-Erweiterung kann apiResponseRenderingTemplateFile nicht definiert werden. Die botbasierte Compose-Erweiterung verfügt über eine apiResponseRenderingTemplateFile-Eigenschaft, die im App-Manifest definiert ist.
BotBasedComposeExtensionApiSpecificationFileExists Für die botbasierte Compose-Erweiterung kann keine apiSpecificationFile definiert werden. Die Bot-basierte Erweiterung zum Verfassen verfügt über eine API-Spezifikationsdatei, die im App-Manifest definiert ist.
BotBasedComposeExtensionBotIdNotGuid Eine botbasierte Erweiterung zum Verfassen muss die GUID botId aufweisen. Die botbasierte Compose-Erweiterung botId ist keine GUID.
BotIdIsNotGuid BotId ist kein GUID-Wert. Der BotId-Wert im App-Manifest ist keine GUID.
CommonAppIdIsNotGuid Feld "ID" ist keine GUID im Manifest. Die appId ist keine GUID.
CommonAppIdIsRequiredField Das Pflichtfeld "ID" fehlt im Manifest. Die appId wird nicht angegeben.
CommonManifestVersionIsRequiredField Das Pflichtfeld im Manifest "Manifestversion" fehlt. Die Manifestversion wird nicht angegeben.
CommonSchemaUrlIsRequiredField Schema-URL muss vorhanden sein. Das Schema wird nicht bereitgestellt.
DashboardCardBothIconNameAndUrlPresent Das Symbol "Dashboardkarten" sollte nicht sowohl den Symbolnamen als auch die URL enthalten. Das Symbol "Dashboard-Karten" darf nicht sowohl den Symbolnamen als auch die URL enthalten.
DashboardCardEntityIdsAreNotUnique Die Entitäts-IDs der Dashboard-Karten sollten eindeutig sein. Die zurückgegebene Entitäts-ID für eine Dashboard Karte ist innerhalb des Manifests nicht eindeutig.
DeveloperNameIsRequiredField Das Pflichtfeld "Name des Entwicklers" fehlt im Manifest. Der Name des Entwicklers wird nicht angegeben.
DeveloperNameLengthCheck Die maximale Zeichenlänge darf 32 Zeichen nicht überschreiten. Der Name des Entwicklers ist länger als 32 Zeichen.
DeveloperPrivacyUrlIsRequiredField Das erforderliche Feld "privacyUrl" fehlt im Manifest. Die privacyUrl fehlt im App-Manifest.
DeveloperPrivacyUrlMustBeHttps 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 URL der Nutzungsbedingungen muss gesichert sein Support-URL (HTTPS). Die URL der Nutzungsbedingungen des Entwicklers verwendete kein HTTPS.
DeveloperWebsiteUrlIsRequiredField Das erforderliche Feld "websiteUrl" fehlt im Manifest. Die URL der Entwickler-Website fehlt.
DeveloperWebsiteUrlMustBeHttps Website-URL muss gesichert sein Support-URL (HTTPS). Die URL der Entwickler-Website verwendete kein HTTPS.
FullDescriptionCannotBeEmpty Die vollständige Beschreibung darf nicht leer sein. Die vollständige Beschreibung ist leer.
FullDescriptionLengthCheck Die maximale Zeichenlänge für eine lange Beschreibung darf 4.000 Zeichen nicht überschreiten. Die vollständige Beschreibungslänge beträgt mehr als 4.000 Zeichen.
GroupChatForBotsLessThanV13 Bitte aktualisieren Sie die Version des Manifests auf V1.3, da der Gruppenchatbot 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 Version des Manifests 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 Symbol Farbe 32x32 sollte 32x32 sein, nur weiß und transparent. Das Farbsymbol 32x32 hat nicht die richtigen Abmessungen.
InvalidColorIconHeightAndWidth Das Farbsymbol entspricht nicht der erforderlichen Dimension. Die Abmessungen des Farbsymbols sind falsch.
InvalidOutlineIconHeightAndWidth Das kleine Symbol sollte 32x32 sein, nur weiß und transparent. 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}.
LocalizationSchemaIsMissing Die Eigenschaft "schema" fehlt in der Lokalisierungsdatei. In der Lokalisierungsdatei fehlt die Eigenschaft "schema".
LocalizationSchemaDoesNotFollowConventionalSchemaRegex Die Lokalisierungsdatei verwendet nicht die richtige Schema-URL: developer.microsoft.jsonschema-URL. Die Schema-URL in der Lokalisierungsdatei stimmt nicht mit dem erwarteten Format überein: developer.microsoft.json.
LocalizationSchemaVersionIsNotTheSameAsTheManifestSchemaVersion Die Schemaversion der Lokalisierungsdatei unterscheidet sich von der Schemaversion des App-Manifests. Die Schemaversion in der Lokalisierungsdatei stimmt nicht mit der Version im App-Manifest überein.
MsftEntraAuthTypeComposeExtensionContainsApiSecretServiceConfiguration API-basierte Compose-Erweiterung mit microsoftEntra authType haben apiSecretServiceConfiguration definiert. Für die API-basierte Compose-Erweiterung ist apiSecretServiceConfiguration im Manifest definiert.
MsftEntraAuthTypeComposeExtensionContainsNoMsftEntraConfiguration API-basierte Compose-Erweiterung mit microsoftEntra authType keine microsoftEntraConfiguration definiert. Für die API-basierte Compose-Erweiterung ist microsoftEntraConfiguration nicht im App-Manifest definiert.
MsftEntraAuthTypeComposeExtensionResourceURLNotMatchServerURLOnApiSpec 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 Erweiterung zum Verfassen mit der Ressourcen-URL von microsoftEntra authType im App-Manifest stimmt nicht mit der Server-URL in der API-Spezifikationsdatei überein.
MsftEntraAuthTypeComposeExtensionSupportsSingleSignOnFalse API-basierte Compose-Erweiterung mit microsoftEntra authType setzt supportsSingleSignOn nicht auf true. Die API-basierte Erweiterung zum Verfassen legt supportsSingleSignOn im App-Manifest nicht fest true .
MsftEntraAuthTypeComposeExtensionWebApplicationInfoOrResourceNotDefined API-basierte Erweiterung zum Verfassen mit microsoftEntra authType keine webApplicationInfo oder Ressource auf dem Manifest definiert haben. Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist keine webApplicationInfo oder Ressource im App-Manifest definiert.
NoAuthTypeComposeExtensionContainsAuthConfiguration API-basierte Erweiterung zum Verfassen ohne authType haben eine auth-bezogene Konfiguration definiert. Die API-basierte Compose-Erweiterung mit authType microsoftEntraConfiguration oder apiSecretServiceConfiguration ist nicht im App-Manifest definiert.
ParameterOnManifestNotDefinedOnApiSpecFile API-basierte Compose-Erweiterung haben Parameter {0} für das Manifest, die nicht in der API-Spezifikationsdatei definiert sind. Die API-basierten Parameter für die Erweiterung zum Verfassen im App-Manifest sind nicht in der API-Spezifikationsdatei definiert.
ReservedActivitiesValidation Das Manifest darf keinen reservierten Aktivitätstyp "systemDefault" enthalten. Der systemDefault-Aktivitätstyp ist im App-Manifest definiert.
ReservedStaticTabNameShouldBeNull Die Eigenschaft "Name" der reservierten Registerkarte darf nicht angegeben werden. Die reservierte staticTabs-Namenseigenschaft wurde angegeben.
SchemaError_AdditionalItems Das Schema lässt keine zusätzlichen Elemente zu. Bei der Validierung des Schemas durch "additionalItems" ist bei der App-Manifestdatei ein Fehler aufgetreten.
SchemaError_AdditionalProperties Eigenschaft {0} wurde nicht definiert, und das Schema lässt keine zusätzlichen Eigenschaften zu. Die App-Manifestdatei ist bei der additionalProperties-Überprüfung des Schemas fehlgeschlagen. {0} Hier stellt die zusätzliche Eigenschaft dar.
SchemaError_AllOf JSON stimmt nicht mit allen Schemas aus "allOf" überein. Fehler bei der allOf-Validierung des Schemas für die App-Manifestdatei.
SchemaError_AnyOf JSON stimmt mit keinem Schema aus "anyOf" überein. Die anyOf-Validierung des Schemas ist für die App-Manifestdatei fehlgeschlagen.
SchemaError_Const Wert {0} stimmt nicht mit Konstante {1}überein. Die App-Manifestdatei ist bei der Const-Überprüfung des Schemas fehlgeschlagen. Hier steht der Wert, {0} der fehlgeschlagen ist, und {1} stellt den richtigen Wert dar.
SchemaError_Contains Array enthält kein erforderliches Element. Fehler bei der Überprüfung des App-Manifests bei der Validierung des Schemas.
SchemaError_ContentEncoding String {0} überprüft nicht anhand der Inhaltscodierung.{1} Bei der contentEncoding-Validierung des Schemas ist bei der App-Manifestdatei ein Fehler aufgetreten. Hier stellt es die Zeichenfolge dar, die nicht mit der Inhaltscodierung übereinstimmt, {0} und {1} stellt die erwartete Inhaltscodierung dar.
SchemaError_Dependencies Fehler bei Abhängigkeiten für Eigenschaft {0} . Fehlende erforderliche Schlüssel. Fehler bei der Überprüfung der Abhängigkeiten des Schemas für die App-Manifestdatei. {0} Hier stellt die Eigenschaft dar, die fehlgeschlagen ist.
SchemaError_Else JSON stimmt nicht mit dem Schema von "else" überein. Die App-Manifestdatei ist bei der else Validierung des Schemas fehlgeschlagen.
SchemaError_Enum Der Wert {0} ist in der Aufzählung nicht definiert. Die App-Manifestdatei ist bei der Enumerationsvalidierung des Schemas fehlgeschlagen. Hier wird der Wert dargestellt, {0} der nicht in der Aufzählung enthalten ist.
SchemaError_Format String {0} überprüft nicht anhand des Formats {1}. Bei der Formatüberprüfung des Schemas ist bei der App-Manifestdatei ein Fehler aufgetreten. Hier stellt die Zeichenfolge dar, die nicht im erwarteten Format vorliegt, {0} und {1} stellt das erwartete Format dar.
SchemaError_Id Doppelte Schema-ID {0} gefunden. Bei der ID-Überprüfung des Schemas ist bei der App-Manifestdatei ein Fehler aufgetreten. {0} Hier wird die ID des Schemas dargestellt.
SchemaError_Maximum Die ganze Zahl {0} überschreitet den maximalen Wert von {1}. Die App-Manifestdatei konnte die maximale Überprüfung des Schemas nicht erreichen. Hier wird der Wert dargestellt, {0} der den Höchstwert überschreitet und {1} den Höchstgrenzwert darstellt.
SchemaError_MaximumItems Die Anzahl {0} der Arrayelemente überschreitet die maximale Anzahl von {1}. Die App-Manifestdatei ist bei der MaximumItems-Überprüfung des Schemas fehlgeschlagen. {0} Hier wird die Anzahl der Elemente im Array und {1} das maximal zulässige Element dargestellt.
SchemaError_MaximumLength Zeichenfolge {0} überschreitet die maximale Länge von {1}. Bei der MaximumLength-Überprüfung des Schemas ist für die App-Manifestdatei ein Fehler aufgetreten. Hier stellt die Zeichenfolge dar, {0} die die maximale Länge überschreitet, und {1} stellt die maximale Länge dar.
SchemaError_MaximumProperties Object {0} property count exceeds maximum of {1}. Bei der Überprüfung des Schemas "maximumProperties" ist für die App-Manifestdatei ein Fehler aufgetreten. {0} Hier wird die Anzahl der bereitgestellten Eigenschaften und {1} die maximal zulässigen Eigenschaften dargestellt.
SchemaError_Minimum Die ganze Zahl {0} ist kleiner als der Mindestwert von {1}. Die App-Manifestdatei hat die Mindestüberprüfung des Schemas nicht bestanden. Hier stellt es den Wert dar, {0} der den Mindestgrenzwert überschreitet und {1} den Mindestgrenzwert darstellt.
SchemaError_MinimumItems Die Anzahl {0} der Arrayelemente ist kleiner als die Mindestanzahl von {1}. Bei der Überprüfung des Schemas "minimumItems" ist für die App-Manifestdatei ein Fehler aufgetreten. {0} Hier wird die Anzahl der Elemente im Array und {1} das minimal zulässige Minimum dargestellt.
SchemaError_MinimumLength Die Zeichenfolge {0} ist kleiner als die Mindestlänge von {1}. Die App-Manifestdatei hat die minimumLength-Überprüfung des Schemas nicht bestanden. Hier stellt die Zeichenfolge, die kleiner als die Mindestlänge ist, {0} und {1} das Minimum dar.
SchemaError_MinimumProperties Die Anzahl {0} der Objekteigenschaften ist kleiner als die Mindestanzahl von {1}. Die App-Manifestdatei hat die minimumProperties-Überprüfung des Schemas nicht bestanden. {0} Hier wird die Anzahl der bereitgestellten Eigenschaften und {1} die minimal zulässigen Eigenschaften dargestellt.
SchemaError_MultipleOf Eine ganze Zahl {0} ist kein Vielfaches von {1}. Die App-Manifestdatei ist bei der multipleOf-Validierung des Schemas fehlgeschlagen. {0} Hier wird der ganzzahlige Wert und {1} das erforderliche Vielfache angegeben.
SchemaError_Not JSON ist für das Schema von "nicht" gültig. Fehler bei der Nichtvalidierung des Schemas bei der App-Manifestdatei.
SchemaError_OneOf JSON ist für mehr als ein Schema aus "oneOf" gültig. Bei der oneOf-Validierung des Schemas ist bei der App-Manifestdatei ein Fehler aufgetreten.
SchemaError_Other Der Wert entspricht nicht dem Schema für diese Eigenschaft. Bei der App-Manifestdatei ist bei anderen nicht behandelten Überprüfungen des Schemas ein Fehler aufgetreten.
SchemaError_Pattern Die Zeichenfolge {0} stimmt nicht mit dem Regex-Muster "{1}" überein. Bei der Musterüberprüfung des Schemas ist bei der App-Manifestdatei ein Fehler aufgetreten. Hier wird der Wert dargestellt, {0} der nicht mit dem Muster übereinstimmt und {1} das erwartete Muster darstellt.
SchemaError_PatternProperties Eigenschaftsnamen mit dem RegEx-Muster "{0}" konnten nicht getestet werden. Bei der patternProperties-Überprüfung des Schemas ist für die App-Manifestdatei ein Fehler aufgetreten. {0} Hier stellt das Muster für die Eigenschaften dar.
SchemaError_Required Erforderliche Eigenschaften fehlen im Objekt: {0}. Die App-Manifestdatei hat die erforderliche Überprüfung des Schemas nicht bestanden. {0} Hier werden die erforderlichen Eigenschaften dargestellt.
SchemaError_Then JSON stimmt nicht mit dem Schema von "damals" überein. Die App-Manifestdatei ist bei der anschließenden Überprüfung des Schemas fehlgeschlagen.
SchemaError_Type Der Wert {0} ist nicht vom erwarteten Typ {1}. Bei der Typüberprüfung des Schemas ist für die App-Manifestdatei ein Fehler aufgetreten. Hier stellt die Zeichenfolge dar, die nicht im erwarteten Typ enthalten ist, {0} und {1} stellt den erwarteten Typ dar.
SchemaError_UniqueItems Array enthält Elemente, die nicht eindeutig sind. Die App-Manifestdatei ist bei der Validierung des Schemas mit den UniqueItems fehlgeschlagen.
SchemaError_Valid Die Schemavalidierung schlägt immer fehl. Die App-Manifestdatei hat die gültige Überprüfung des Schemas nicht bestanden.
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 keinem 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 ein nachgestelltes Komma. Die App-Manifestdatei enthält ein nachgestelltes Komma.
ServerUrlsMissingOnApiSpecificationFile API-basierte Compose-Erweiterung keine Server-URLs in apiSpecificationFile definiert. Der Fehler, der auftritt Die API-basierte Erweiterung zum Verfassen hat keine Server-URLs in der apiSpecificationFile definiert.
ShortDescriptionCannotBeEmpty Die Kurzbeschreibung darf nicht leer sein. Die Kurzbeschreibung war leer.
ShortDescriptionLengthCheck Die maximale Zeichenlänge für eine Kurzbeschreibung darf 80 Zeichen nicht überschreiten. Die Kurzbeschreibung ist mehr als 80 Zeichen lang.
ShortNameEqualsReservedName Der Kurzname der App darf nicht reserviert werden. 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 den Kurznamen darf 30 Zeichen nicht überschreiten. Der Kurzname überschreitet 30 Zeichen.
StaticTabNameCouldNotBeEmpty Nicht reservierte staticTabs "Name"-Eigenschaft darf nicht leer sein. Die staticTabs-Namenseigenschaft ist leer.
UniqueActivityTypeInActivitiesValidation Das Manifest darf keinen doppelten Aktivitätstyp enthalten. Der Aktivitätstyp ist im App-Manifest nicht eindeutig.
UniqueIdInActivitiesGroupValidation Das Manifest darf keine doppelte ID in Aktivitätsgruppen enthalten. Die Aktivitätsgruppen-ID ist im App-Manifest nicht eindeutig.
ValidDomainsContainsUrl Die Liste gültiger Domänen muss eine ordnungsgemäß formatierte URL enthalten. Die in der Lokalisierungsdatei angegebenen Domänen müssen gültig sein.
VersionCannotBeEmpty Das Pflichtfeld "Version" fehlt im Manifest. Die Version des App-Pakets fehlt.
VersionContainsOnlyNumbersDotSeparated Die App-Version unterstützt nur Zahlen im Format '#.#.#'. Die Version im App-Paket stimmt nicht mit dem Muster #.#.# überein.
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 sind gültige App-Versionen. Im Falle eines neuen Updates 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 z. B. 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 einer 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"
        }
    }
}