Veröffentlichen von teamsApp
Namespace: microsoft.graph
Veröffentlichen Sie eine App im Microsoft Teams-App-Katalog.
Insbesondere veröffentlicht diese API die App im Katalog Ihrer organization (dem Mandanten-App-Katalog); die erstellte Ressource verfügt über den Eigenschaftswert distributionMethod von organization
.
Die requiresReview-Eigenschaft ermöglicht es jedem Benutzer, eine App zur Überprüfung durch einen Administrator zu übermitteln. Administratoren können diese Apps über diese API oder das Microsoft Teams Admin Center genehmigen oder ablehnen.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst | US Government L4 | US Government L5 (DOD) | China, betrieben von 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Berechtigungstyp | Berechtigungen mit den geringsten Berechtigungen | Berechtigungen mit höheren Berechtigungen |
---|---|---|
Delegiert (Geschäfts-, Schul- oder Unikonto) | AppCatalog.Submit | AppCatalog.ReadWrite.All, Directory.ReadWrite.All |
Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt | Nicht unterstützt |
Anwendung | Nicht unterstützt | Nicht unterstützt |
Hinweis
- Die
Directory.ReadWrite.All
Berechtigung wird nur aus Gründen der Abwärtskompatibilität unterstützt. Es wird empfohlen, Ihre Lösungen zu aktualisieren, sodass sie eine alternative Berechtigung verwenden, die in der vorherigen Tabelle aufgeführt ist, und diese Berechtigungen in Zukunft nicht mehr verwenden. - Mit
AppCatalog.Submit
der Berechtigung können Sie Apps nur zur Überprüfung übermitteln und nicht im Katalog veröffentlichen.
HTTP-Anforderung
POST /appCatalogs/teamsApps
So veröffentlichen Sie eine App, die eine Überprüfung erfordert:
POST /appCatalogs/teamsApps?requiresReview={Boolean}
Abfrageparameter
Eigenschaft | Typ | Beschreibung |
---|---|---|
requiresReview | Boolesch | Dieser optionale Abfrageparameter löst den App-Überprüfungsprozess aus. Benutzer mit Administratorrechten können Apps übermitteln, ohne eine Überprüfung auszulösen. Wenn Benutzer vor der Veröffentlichung eine Überprüfung anfordern möchten, müssen sie requiresReview auf 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 ActivityGroupId Feld in ActivityType ist keine Teilmenge des Id Felds in ActivityGroup im App-Manifest. |
ActivityTypesMustExistWithActivitiesGroupValidation |
Das Manifest sollte keine Aktivitätsgruppe enthalten, wenn Aktivitätstypen fehlen. | Die ActivityGroup -Eigenschaft ist verfügbar, aber die ActivityType -Eigenschaft fehlt im App-Manifest. |
ApiBasedComposeExtensionApiResponseRenderingTemplateFileNullOrEmpty |
Für die API-basierte Compose-Erweiterung muss apiResponseRenderingTemplateFile im Manifest definiert sein. | Die API-basierte Compose-Erweiterung ist apiResponseRenderingTemplateFile nicht im App-Manifest definiert. |
ApiBasedComposeExtensionApiSpecificationFileNullOrEmpty |
Für die API-basierte Compose-Erweiterung muss apiSpecificationFile im Manifest definiert sein. | Die API-basierte Compose-Erweiterung ist apiSpecificationFile nicht im App-Manifest definiert. |
ApiBasedComposeExtensionManifestCommandIdsNotIncludedInOperationIdsOnApiSpecficationFile |
Befehls-IDs im Manifest sind in vorgangs-IDs in der API-Spezifikationsdatei nicht enthalten. | Der Fehler, der auftritt, wenn der Command Ids im App-Manifest nicht in der Operation Ids API-Spezifikationsdatei enthalten ist. |
ApiBasedComposeExtensionWithBotId |
Für die API-basierte Compose-Erweiterung kann keine botId definiert sein. | Die API-basierte Compose-Erweiterung wurde botId im App-Manifest definiert. |
ApiBasedComposeExtensionWithCanUpdateConfiguration |
Für die API-basierte Compose-Erweiterung kann canUpdateConfiguration nicht im Manifest definiert sein. | Die API-basierte Compose-Erweiterung wurde canUpdateConfiguration im App-Manifest definiert. |
ApiBasedComposeExtensionWithNoParameter |
Für die API-basierte Compose-Erweiterung müssen Befehlsparameter im Manifest definiert sein. | Für die API-basierte Compose-Erweiterung sind keine Befehlsparameter im App-Manifest definiert. |
ApiSecretServiceAuthTypeComposeExtensionContainsMsftEntraConfiguration |
Für die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType ist microsoftEntraConfiguration definiert. | Die API-basierte Compose-Erweiterung wurde microsoftEntraConfiguration im App-Manifest definiert. |
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretRegistrationId |
Für die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType ist keine apiSecretRegistrationId definiert. | Die API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType, die nicht apiSecretRegistrationId im App-Manifest definiert ist. |
ApiSecretServiceAuthTypeComposeExtensionContainsNoApiSecretServiceAuthConfiguration |
API-basierte Compose-Erweiterung mit apiSecretServiceAuth authType hat keine apiSecretServiceConfiguration. | Die API-basierte Compose-Erweiterung wird im App-Manifest nicht auf true festgelegtsupportsSingleSignOn . |
ApiSpecificationFileContainUnsupportedHttpMethod |
DIE API-basierte Compose-Erweiterung verfügt über Server-URLs, für die eine nicht unterstützte HTTP-Methode für apiSpecificationFile definiert ist. Derzeit werden nur GET und POST unterstützt. | Die API-basierte Compose-Erweiterung verfügt über eine nicht unterstützte http Methode, die apiSpecificationFile in definiert ist. |
ApiSpecificationFileParameterContainUnsupportedSchemaType |
Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der für apiSpecificationFile definiert ist. Arrays werden nicht unterstützt. | Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Parameterschematyp, der apiSpecificationFile in definiert ist. |
ApiSpecificationFileRequestBodyContainUnsupportedMediaType |
Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Medientyp, der im Anforderungstext in apiSpecificationFile definiert ist. Derzeit wird nur application/json unterstützt. | Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten media Typ, der im Anforderungstext apiSpecificationFile in 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 apiSpecificationFile im 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 apiSpecificationFile im 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 apiSpecificationFile in definiert ist. |
ApiSpecificationFileRequiredParameterOrPropertyNotDefinedOnManifest |
API-basierte Compose-Erweiterung verfügen über erforderliche Parameter oder Eigenschaften {0} , die nicht im Manifest definiert sind. | Die API-basierte Compose-Erweiterung verfügt über einen required Parameter, der nicht im App-Manifest definiert ist. |
ApiSpecificationFileResponseContainUnsupportedMediaType |
Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten Medientyp, der als Antwort auf apiSpecificationFile definiert ist. Derzeit werden nur Application/JSON unterstützt. | Die API-basierte Compose-Erweiterung verfügt über einen nicht unterstützten media Typ, der apiSpecificationFile als Antwort im definiert ist. |
ApiSpecificationFileServerUrlsContainHttp |
Die API-basierte Compose-Erweiterung verfügt über Server-URLs, für die das HTTP-Protokoll in apiSpecificationFile definiert ist. | Die API-basierte Compose-Erweiterung verfügt über Server-URLs, die das Protokoll im apiSpecificationFile enthaltenhttp . |
ApiSpecificationFileServerUrlsContainInvalidUrl |
Die API-basierte Compose-Erweiterung verfügt über Server-URLs, die in apiSpecificationFile als ungültige URL definiert sind. | Die API-basierte Compose-Erweiterung verfügt über eine invalid URL, die in definiert ist apiSpecificationFile . |
BotBasedComposeExtensionApiResponseRenderingTemplateFileExists |
Für die botbasierte Compose-Erweiterung kann apiResponseRenderingTemplateFile nicht definiert sein. | Die botbasierte Compose-Erweiterung verfügt über eine apiResponseRenderingTemplateFile im App-Manifest definierte Eigenschaft. |
BotBasedComposeExtensionApiSpecificationFileExists |
Für die botbasierte Compose-Erweiterung kann apiSpecificationFile nicht definiert sein. | Die botbasierte Compose-Erweiterung verfügt über eine API-Spezifikationsdatei, die im App-Manifest definiert ist. |
BotBasedComposeExtensionBotIdNotGuid |
Die botbasierte Compose-Erweiterung muss über die GUID botId verfügen. | Die botbasierte Compose-Erweiterung botId ist keine GUID. |
BotIdIsNotGuid |
BotId ist kein GUID-Wert. | Der BotId Wert im App-Manifest ist keine GUID. |
CommonAppIdIsNotGuid |
Das Feld "ID" ist keine GUID im Manifest. | Ist appId keine GUID. |
CommonAppIdIsRequiredField |
Das erforderliche Feld "ID" fehlt im Manifest. | Die appId wird nicht bereitgestellt. |
CommonManifestVersionIsRequiredField |
Das erforderliche Feld im Manifest "Manifestversion" fehlt. | Die Manifestversion wird nicht angegeben. |
CommonSchemaUrlIsRequiredField |
Die Schema-URL muss vorhanden sein. | Das Schema wird nicht bereitgestellt. |
DashboardCardBothIconNameAndUrlPresent |
Das Symbol "Dashboardkarten" darf nicht sowohl den Symbolnamen als auch die URL enthalten. | Das Symbol "Dashboardkarten" darf nicht sowohl den Symbolnamen als auch die URL enthalten. |
DashboardCardEntityIdsAreNotUnique |
Dashboard Karte Entitäts-IDs sollten eindeutig sein. | Die zurückgegebene Entitäts-ID für eine Dashboard Karte ist innerhalb des Manifests nicht eindeutig. |
DeveloperNameIsRequiredField |
Das erforderliche Feld "Entwicklername" fehlt im Manifest. | Der Entwicklername wird nicht angegeben. |
DeveloperNameLengthCheck |
Die maximale Zeichenlänge darf 32 Zeichen nicht überschreiten. | Der Entwicklername ist mehr als 32 Zeichen lang. |
DeveloperPrivacyUrlIsRequiredField |
Das Pflichtfeld "privacyUrl" fehlt im Manifest. | Fehlt privacyUrl im App-Manifest. |
DeveloperPrivacyUrlMustBeHttps |
Die Datenschutz-URL muss gesichert sein Support-URL (HTTPS). | Die Datenschutz-URL des Entwicklers hat kein HTTPS verwendet. |
DeveloperTermsOfUseUrlIsRequiredField |
Das erforderliche Feld "termsOfUseUrl" fehlt im Manifest. | Die termsOfUseUrl fehlt im Manifest. |
DeveloperTermsOfUseUrlMustBeHttps |
Die URL der Nutzungsbedingungen muss gesicherte Support-URL (HTTPS) sein. | Die URL für die Nutzungsbedingungen für Entwickler hat https nicht verwendet. |
DeveloperWebsiteUrlIsRequiredField |
Das Erforderliche Feld "websiteUrl" fehlt im Manifest. | Die URL der Entwicklerwebsite fehlt. |
DeveloperWebsiteUrlMustBeHttps |
Die Website-URL muss gesichert sein Support-URL (HTTPS). | Die URL der Entwicklerwebsite hat kein HTTPS verwendet. |
FullDescriptionCannotBeEmpty |
Die vollständige Beschreibung darf nicht leer sein. | Die vollständige Beschreibung ist leer. |
FullDescriptionLengthCheck |
Die maximale Zeichenlänge für lange Beschreibungen darf 4.000 Zeichen nicht überschreiten. | Die vollständige Beschreibungslänge beträgt mehr als 4.000 Zeichen. |
GroupChatForBotsLessThanV13 |
Aktualisieren Sie die Manifestversion auf V1.3, da der Gruppenchat-Bot ab Manifest v1.3 unterstützt wird. | Der groupChat Bereich für Bots wird in der App-Manifestversion 1.3 und niedriger nicht unterstützt. |
GroupChatForConfigurableTabsLessThanV13 |
Aktualisieren Sie die Manifestversion auf V1.3, da konfigurierbare Registerkarten für Gruppenchats ab Manifest v1.3 unterstützt werden. | Der groupChat Bereich für konfigurierbare Registerkarten wird in der App-Manifestversion 1.3 und niedriger nicht unterstützt. |
InvalidColor32x32IconHeightAndWidth |
Das Farbsymbol 32x32 sollte 32 x 32 sein und nur weiß und transparent sein. | Das Farbsymbol 32x32 weist nicht die richtigen Abmessungen auf. |
InvalidColorIconHeightAndWidth |
Das Farbsymbol entspricht nicht der erforderlichen Dimension. | Die Abmessungen des Farbsymbols sind falsch. |
InvalidOutlineIconHeightAndWidth |
Kleines Symbol sollte 32 x 32 sein und nur weiß und transparent sein. | Die Abmessungen des Gliederungssymbols sind falsch. |
InvalidOutlineIconTransparency |
Das Gliederungssymbol ist nicht transparent. Es ist Alpha. | Das Gliederungssymbol enthält Pixel, die weder transparent noch weiß sind, mit Alpha-, R-, G-, B-Werten von {0}, {1}, {2}und {3}. |
MsftEntraAuthTypeComposeExtensionContainsApiSecretServiceConfiguration |
Api-basierte Compose-Erweiterung mit microsoftEntra authType ist apiSecretServiceConfiguration definiert. | Die API-basierte Compose-Erweiterung wurde apiSecretServiceConfiguration im Manifest definiert. |
MsftEntraAuthTypeComposeExtensionContainsNoMsftEntraConfiguration |
Für die API-basierte Compose-Erweiterung mit microsoftEntra authType ist microsoftEntraConfiguration nicht definiert. | Die API-basierte Compose-Erweiterung ist microsoftEntraConfiguration im App-Manifest nicht definiert. |
MsftEntraAuthTypeComposeExtensionResourceURLNotMatchServerURLOnApiSpec |
Die API-basierte Compose-Erweiterung mit microsoftEntra authType-Ressourcen-URL im Manifest stimmt nicht mit der Server-URL in der API-Spezifikationsdatei überein. | Die API-basierte Compose-Erweiterung mit microsoftEntra der authType-Ressourcen-URL im App-Manifest stimmt nicht mit der Server-URL in der API-Spezifikationsdatei überein. |
MsftEntraAuthTypeComposeExtensionSupportsSingleSignOnFalse |
Die API-basierte Compose-Erweiterung mit microsoftEntra authType legt supportsSingleSignOn nicht auf true fest. | Die API-basierte Compose-Erweiterung legt supportsSingleSignOn im App-Manifest nicht auf true fest. |
NoAuthTypeComposeExtensionContainsAuthConfiguration |
Für die API-basierte Compose-Erweiterung ohne authType ist eine Authentifizierungskonfiguration definiert. | Die API-basierte Compose-Erweiterung mit authType microsoftEntraConfiguration oder apiSecretServiceConfiguration ist nicht im App-Manifest definiert. |
ParameterOnManifestNotDefinedOnApiSpecFile |
DIE API-basierte Compose-Erweiterung verfügt über Parameter {0} für das Manifest, die in der API-Spezifikationsdatei nicht definiert sind. | Die API-basierten Compose-Erweiterungsparameter im App-Manifest sind nicht in der API-Spezifikationsdatei definiert. |
ReservedActivitiesValidation |
Das Manifest sollte keinen reservierten Aktivitätstyp "systemDefault" enthalten. | Der systemDefault Aktivitätstyp wird im App-Manifest definiert. |
ReservedStaticTabNameShouldBeNull |
Die reservierte Registerkarte "Name"-Eigenschaft sollte nicht angegeben werden. | Die Eigenschaft reservierter staticTabs Name wurde angegeben. |
SchemaError_AdditionalItems |
Das Schema lässt keine zusätzlichen Elemente zu. | Bei der Überprüfung des Schemas ist die additionalItems App-Manifestdatei fehlgeschlagen. |
SchemaError_AdditionalProperties |
Die Eigenschaft {0} wurde nicht definiert, und das Schema lässt keine zusätzlichen Eigenschaften zu. | Bei der Überprüfung des Schemas ist die additionalProperties App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die zusätzliche Eigenschaft dar. |
SchemaError_AllOf |
JSON stimmt nicht mit allen Schemas aus "allOf" überein. | Bei der Überprüfung des Schemas ist die allOf App-Manifestdatei fehlgeschlagen. |
SchemaError_AnyOf |
JSON stimmt mit keinem Schema aus "anyOf" überein. | Bei der Überprüfung des Schemas ist die anyOf App-Manifestdatei fehlgeschlagen. |
SchemaError_Const |
Der Wert {0} stimmt nicht mit der Konstante {1}überein. | Bei der Überprüfung des Schemas ist die const App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} bei dem ein Fehler aufgetreten ist, und {1} stellt den richtigen Wert dar. |
SchemaError_ContentEncoding |
Die Zeichenfolge {0} überprüft nicht anhand der Inhaltscodierung {1}. | Bei der Überprüfung des Schemas ist die contentEncoding App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die nicht mit der Inhaltscodierung übereinstimmt, und {1} stellt die erwartete Inhaltscodierung dar. |
SchemaError_Dependencies |
Fehler bei Abhängigkeiten für die Eigenschaft {0} . Fehlende erforderliche Schlüssel. | Bei der Überprüfung des Schemas ist die dependencies App-Manifestdatei fehlgeschlagen. Hier stellt die -Eigenschaft dar, {0} bei der ein Fehler aufgetreten ist. |
SchemaError_Else |
JSON stimmt nicht mit dem Schema von "else" überein. | Bei der Überprüfung des Schemas ist die else App-Manifestdatei fehlgeschlagen. |
SchemaError_Enum |
Der Wert {0} ist in der Enumeration nicht definiert. | Bei der Überprüfung des Schemas ist die enum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der nicht in der Enumeration enthalten ist. |
SchemaError_Format |
Die Zeichenfolge {0} überprüft nicht im Format {1}. | Bei der Überprüfung des Schemas ist die format App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die nicht im erwarteten Format vorliegt, und {1} stellt das erwartete Format dar. |
SchemaError_Id |
Doppelte Schema-ID {0} gefunden. | Bei der Überprüfung des Schemas ist die id App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die des id Schemas dar. |
SchemaError_Maximum |
Integer {0} überschreitet den Maximalwert von {1}. | Bei der Überprüfung des Schemas ist die maximum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der den maximalen Grenzwert überschreitet, und {1} stellt den maximalen Grenzwert dar. |
SchemaError_MaximumItems |
Die Arrayelementanzahl {0} überschreitet die maximale Anzahl von {1}. | Bei der Überprüfung des Schemas ist die maximumItems App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die Anzahl der Elemente im Array und {1} den maximal zulässigen Wert dar. |
SchemaError_MaximumLength |
String {0} überschreitet die maximale Länge von {1}. | Bei der Überprüfung des Schemas ist die maximumLength App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die die maximale Länge überschreitet, und {1} stellt die maximale Länge dar. |
SchemaError_MaximumProperties |
Die Anzahl {0} der Objekteigenschaften überschreitet die maximale Anzahl von {1}. | Bei der Überprüfung des Schemas ist die maximumProperties App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die Anzahl der bereitgestellten Eigenschaften und {1} die maximal zulässigen Eigenschaften dar. |
SchemaError_Minimum |
Die ganze Zahl {0} ist kleiner als der Mindestwert von {1}. | Bei der Überprüfung des Schemas ist die minimum App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der den Minimalgrenzwert überschreitet, und {1} stellt den Minimalgrenzwert dar. |
SchemaError_MinimumItems |
Die Arrayelementanzahl {0} ist kleiner als die Mindestanzahl von {1}. | Bei der Überprüfung des Schemas ist die minimumItems App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die Anzahl der Elemente im Array und {1} den minimal zulässigen Wert dar. |
SchemaError_MinimumLength |
Die Zeichenfolge {0} ist kleiner als die Mindestlänge von {1}. | Bei der Überprüfung des Schemas ist die minimumLength App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die kleiner als die Mindestlänge ist, und {1} stellt das Minimum dar. |
SchemaError_MinimumProperties |
Die Anzahl {0} der Objekteigenschaften ist kleiner als die Mindestanzahl von {1}. | Bei der Überprüfung des Schemas ist die minimumProperties App-Manifestdatei fehlgeschlagen.
{0} Hier stellt die Anzahl der bereitgestellten Eigenschaften und {1} die minimal zulässigen Eigenschaften dar. |
SchemaError_Not |
JSON ist für das Schema von "not" gültig. | Bei der Überprüfung des Schemas ist die not App-Manifestdatei fehlgeschlagen. |
SchemaError_OneOf |
JSON ist für mehrere Schemas aus "oneOf" gültig. | Bei der Überprüfung des Schemas ist die oneOf App-Manifestdatei fehlgeschlagen. |
SchemaError_Pattern |
Die Zeichenfolge {0} stimmt nicht mit dem RegEx-Muster "{1}" überein. | Bei der Überprüfung des Schemas ist die pattern App-Manifestdatei fehlgeschlagen. Hier stellt den Wert dar, {0} der nicht mit dem Muster übereinstimmt, und {1} stellt das erwartete Muster dar. |
SchemaError_PatternProperties |
Eigenschaftennamen mit dem RegEx-Muster "{0}" konnten nicht getestet werden. | Bei der Überprüfung des Schemas ist die patternProperties App-Manifestdatei fehlgeschlagen.
{0} Hier stellt das Muster für die Eigenschaften dar. |
SchemaError_Required |
Erforderliche Eigenschaften fehlen im -Objekt: {0}. | Bei der Überprüfung des Schemas ist die required App-Manifestdatei fehlgeschlagen.
{0} Stellt hier die erforderlichen Eigenschaften dar. |
SchemaError_Then |
JSON stimmt nicht mit dem Schema von "then" überein. | Bei der Überprüfung des Schemas ist die then App-Manifestdatei fehlgeschlagen. |
SchemaError_Type |
Der Wert {0} weist nicht den erwarteten Typ auf {1}. | Bei der Überprüfung des Schemas ist die type App-Manifestdatei fehlgeschlagen. Hier stellt die Zeichenfolge dar, {0} die sich nicht im erwarteten Typ befindet, und {1} stellt den erwarteten Typ dar. |
SchemaError_UniqueItems |
Array enthält Elemente, die nicht eindeutig sind. | Bei der Überprüfung des Schemas ist die uniqueItems App-Manifestdatei fehlgeschlagen. |
SchemaError_Valid |
Bei der Überprüfung des Schemas tritt immer ein Fehler auf. | Bei der Überprüfung des Schemas ist die valid App-Manifestdatei fehlgeschlagen. |
Serialization_FileMissing |
Die Datei {0} wurde im App-Paket nicht gefunden. | Die erwartete Datei fehlt im App-Paket. |
Serialization_FileNotValidJson |
Die Datei konnte nicht als JSON-Objekt analysiert werden. | Die übermittelte Datei entsprach nicht einem gültigen JSON-Format. |
Serialization_ManifestVersionPropertyMissing |
Die Datei enthält nicht die Eigenschaft "{0}". | Die manifestVersion-Eigenschaft fehlt in der App-Manifestdatei. {0} Hier stellt die Zeichenfolge für die manifestVersion-Eigenschaft dar. |
Serialization_TrailingCommaInManifestJsonFile |
Die JSON-Manifestdatei enthält nachgestelltes Komma. | Die App-Manifestdatei enthält ein nachfolgendes Komma. |
ServerUrlsMissingOnApiSpecificationFile |
Für die API-basierte Compose-Erweiterung sind keine Server-URLs in apiSpecificationFile definiert. | Der fehler, der auftritt Die API-basierte Compose-Erweiterung hat keine Server-URLs definiert in apiSpecificationFile . |
ShortDescriptionCannotBeEmpty |
Kurze Beschreibung darf nicht leer sein. | Die kurze Beschreibung war leer. |
ShortDescriptionLengthCheck |
Die maximale Zeichenlänge für kurze Beschreibungen darf 80 Zeichen nicht überschreiten. | Die kurze Beschreibung ist mehr als 80 Zeichen lang. |
ShortNameEqualsReservedName |
Der Kurzname der App kann nicht reserviert sein. | Der Kurzname ist ein reservierter Name. |
ShortNameIsRequiredField |
Der Kurzname der App darf nicht leer sein. | Der Kurzname ist leer. |
ShortNameLengthCheck |
Die maximale Zeichenlänge für Short Name darf 30 Zeichen nicht überschreiten. | Der Kurzname überschreitet 30 Zeichen. |
UniqueActivityTypeInActivitiesValidation |
Das Manifest darf keinen doppelten Aktivitätstyp enthalten. | Der Aktivitätstyp ist im App-Manifest nicht eindeutig. |
UniqueIdInActivitiesGroupValidation |
Das Manifest sollte keine doppelte ID in Activity Gruppen enthalten. | Die Aktivitätsgruppen-ID ist im App-Manifest nicht eindeutig. |
VersionCannotBeEmpty |
Das erforderliche Feld "Version" fehlt im Manifest. | Die App-Paketversion fehlt. |
VersionContainsOnlyNumbersDotSeparated |
Die App-Version unterstützt nur Zahlen im Format "#.#.#". | Die Version im App-Paket wird nicht durch das Muster abgeglichen. #.#.# |
VersionHasMajorLessThan1 |
Die App-Version sollte nicht mit "0" beginnen. Beispielsweise sind 0.0.1 oder 0.1 keine gültigen App-Versionen und 1.0 / 1.5.1 / 1.0.0 / 2.5.0 gültige App-Versionen. Im Falle einer neuen Aktualisierung im Manifest für eine vorhandene App im Store. | Die App-Version ist kleiner als 1.0. Sie müssen ihre App-Version aktualisieren. Wenn beispielsweise die aktuelle Version Ihrer App im Store 1.0 ist und Sie ein Update zur Überprüfung übermitteln, muss die App-Version höher als 1.0 sein. |
Beispiele
Beispiel 1: Veröffentlichen einer App im App-Katalog
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Informationen zum Erstellen einer ZIP-Datei für eine Microsoft Teams-Anwendung finden Sie unter Erstellen eines App-Pakets.
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
"externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
"displayName": "Test App",
"distributionMethod": "organization"
}
Beispiel 2: Hochladen einer neuen Anwendung zur Überprüfung in den App-Katalog eines organization
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps/$entity",
"id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
"externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
"displayName": "Test App",
"distributionMethod": "organization"
}
Beispiel 3: Genehmigen oder Ablehnen einer App mit ausstehender Überprüfung
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=
{
"publishingState":"published"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps('a761ad07-22ef-4a53-9feb-2837c8ad4a84')/appDefinitions/$entity",
"id": "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjUHVibGlzaGVk",
"teamsAppId": "a761ad07-22ef-4a53-9feb-2837c8ad4a84",
"azureADAppId": null,
"displayName": "Ducks",
"version": "1.1.8",
"requiredResourceSpecificApplicationPermissions": [],
"publishingState": "published",
"shortDescription": "quaerat quasi magnam. slight change. 5",
"description": "Aliquid placeat animi debitis accusamus. Non perferendis ullam. Quis est consequuntur vitae provident. Sunt laudantium id aut. slight change 5",
"lastModifiedDateTime": null,
"createdBy": null
}
Beispiel 4: Veröffentlichen einer App im App-Katalog mit einem Fehler im App-Manifest
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip
[Zip file containing a Teams app package]
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 200 OK
Content-type: application/json
{
"error": {
"code": "BadRequest",
"message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"innerError": {
"code": "UnableToParseTeamsAppManifest",
"message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"details": [
{
"code": "SchemaError_Required",
"message": "Required properties are missing from object: [].",
"target": "name"
},
{
"code": "SchemaError_Pattern",
"message": "String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
"target": "developer.websiteUrl"
}
],
"date": "2024-01-18T21:47:58",
"request-id": "d1878136-bc88-421a-b342-c3d883db31a1",
"client-request-id": "d1878136-bc88-421a-b342-c3d883db31a1"
}
}
}