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 true festlegen. 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 UnableToParseTeamsAppManifest
enthä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"
}
}
}