Freigeben über


JSON-Schema der Aktionsdefinition für App-Aktionen unter Windows

In diesem Artikel wird das Format des JSON-Dateiformats der Aktionsdefinition für App-Aktionen unter Windows beschrieben. Diese Datei muss in Ihrem Projekt enthalten sein. Die Buildaktion muss auf „Inhalt“ festgelegt sein, und In Ausgabeverzeichnis kopieren muss auf „Kopieren, wenn neuer“ festgelegt sein. Geben Sie den paketrelativen Pfad zur JSON-Datei in der XML-Paketmanifestdatei an. Weitere Informationen finden Sie im XML-Format des Paketmanifests des Aktionsanbieters.

JSON-Beispieldatei der Aktionsdefinition

"version": 3, 
  "actions": [ 
    { 
      "id": "Contoso.SampleGreeting", 
      "description": "Send greeting with Contoso", 
      "icon": "ms-resource//...", 
      "usesGenerativeAI": false,
      "isAvailable": false,
      "allowedAppInvokers": ["*"],
      "inputs": [ 
        { 
          "name": "UserFriendlyName", 
          "kind": "Text" 
        }, 
        { 
          "name": "PetName", 
          "kind": "Text", 
          "required": false 
        } 
      ], 
      "inputCombinations": [ 
        { 
          "inputs": ["UserFriendlyName"], 
          "description": "Greet ${UserFriendlyName.Text}" 
        }, 
        { 
          "inputs": ["UserFriendlyName", "PetName"], 
          "description": "Greet ${UserFriendlyName.Text} and their pet ${PetName.Text}" 
        } 
      ], 
      "contentAgeRating": "child",  
      "invocation": 
      {
        { 
          "type": "Uri", 
          "uri": "contoso://greetUser?userName=${UserFriendlyName.Text}&petName=${PetName.Text}", 
        }, 
        "where": [ 
          "${UserFriendlyName.Length > 3}" 
        ] 
      } 
    }, 
    { 
      "id": "Contoso.SampleGetText", 
      "description": "Summarize file with Contoso", 
      "icon": "ms-resource://...", 
      "inputs": [ 
        { 
          "name": "FileToSummarize", 
          "kind": "File" 
        } 
      ], 
      "inputCombinations": [ 
        { 
          "inputs": ["FileToSummarize"], 
          "description": "Summarize ${FileToSummarize.Path}" 
        }, 
      ], 
      "outputs": [ 
        { 
          "name": "Summary", 
          "kind": "Text" 
        } 
      ],
      "contentAgeRating": "child", 
      "invocation": { 
        "type": "COM", 
        "clsid": "{...}" 
      } 
    } 
  ] 
} 

JSON-Eigenschaften der Aktionsdefinition

In den folgenden Tabellen werden die Eigenschaften der JSON-Datei der Aktionsdefinition beschrieben.

Das Feld "Version " gibt die Schemaversion an, in der die Eigenschaft eingeführt wurde.

Das PWA-Feld gibt die Unterstützung für Aktionsanbieter an, die als Progressive Web App (PWA) implementiert werden. Weitere Informationen zu App-Aktionen mit PWAs finden Sie unter Aktivieren von App-Aktionen unter Windows für eine PWA.

Dokumentstamm

Eigentum Typ BESCHREIBUNG Erforderlich Version
Ausgabe Schnur Schemaversion. Wenn neue Funktionen hinzugefügt wurden, erhöht sich die Version um eine. Ja. 2
Handlungen Aktion[] Definiert die von der App bereitgestellten Aktionen. Ja. 2

Maßnahme

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
id Schnur Aktionskennzeichen Muss pro Anwendungspaket einzigartig sein. Dieser Wert ist nicht lokalisierbar. Ja 2 Ja
Beschreibung Schnur Benutzerbezogene Beschreibung für diese Aktion. Dieser Wert ist lokalisierbar. Ja 2 Ja
Ikone Schnur Lokalisierbares Symbol für die Aktion. Dieser Wert ist eine ms-resource-Zeichenfolge für ein symbol, das mit der App bereitgestellt wird. Nein 2 Ja
allowedAppInvokers Zeichenfolge[] Gibt eine Liste der Anwendungsbenutzermodell-IDs (AppUserModelIDs) an, die die Aktion über einen Aufruf von GetActionsForInputs oder GetAllActions ermitteln können. Wildcards werden unterstützt. "*" entspricht allen AppUserModelIDs. Dies wird für die meisten Aktionen empfohlen, es sei denn, es gibt einen bestimmten Grund, die Aufrufer einzuschränken, die eine Aktion aufrufen können. Wenn allowedAppInvokers ausgelassen wird oder eine leere Liste ist, können keine Apps die Aktion ermitteln. Weitere Informationen zu AppUserModelIDs finden Sie unter Anwendungsbenutzermodell-IDs Nein 3 Ja
verwendet Generative KI Boolescher Typ (Boolean) Gibt an, ob die Aktion generative KI verwendet. Der Standardwert ist "false". Nein 2 Ja
istVerfügbar Boolescher Typ (Boolean) Gibt an, ob die Aktion bei der Installation zur Verwendung verfügbar ist. Der Standardwert ist true. Ja 2 Ja
Eingaben Eingaben[] Liste der Entitäten, die diese Aktion als Eingabe akzeptiert. Ja 2 Ja
Eingabekombinationen Eingabekombination[] Stellt Beschreibungen für verschiedene Kombinationen von Eingaben bereit. Ja 2 Ja
Ergebnisse Ausgabe[] Wenn angegeben, muss es sich um eine leere Zeichenfolge in der aktuellen Version handeln. Nein 2 Ja
Aufruf Aufruf Enthält Informationen dazu, wie die Aktion aufgerufen wird. Ja 2 Ja
Inhaltsaltersfreigabe Schnur Ein Feldname aus der UserAgeConsentGroup , der die entsprechende Altersfreigabe für die Aktion angibt. Die zulässigen Werte sind "Child", "Minor", "Adult". Wenn kein Wert angegeben ist, ermöglicht das Standardverhalten den Zugriff auf alle Altersgruppen. Nein 2 Ja

Ausgabe

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
Name Schnur Der Variablename der Entität. Dieser Wert ist nicht lokalisierbar. Ja 2 Ja
freundlich Schnur Ein Feldname aus der ActionEntityKind-Aufzählung , die den Entitätstyp angibt. Dieser Wert ist nicht lokalisierbar. Die zulässigen Werte sind "None", "Document", "File", "Photo", "Text", "StreamingText", "RemoteFile", "Table", "Kontakt". Ja 2 Ja

Die Schemaversion und die PWA-Unterstützung variieren je nach den unterschiedlichen Werten der Art-Eigenschaft . Details finden Sie im Eintrag für jeden Entitätstyp.

Eingabekombination

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
Eingaben Zeichenfolge[] Eine Liste der Eingabenamen für einen Aktionsaufruf. Die Liste ist möglicherweise leer. Ja 2 Ja
Beschreibung Schnur Beschreibung für den Aufruf der Aktion. Dieser Wert ist lokalisierbar. Nein 2 Ja
Hierbei gilt: Zeichenfolge[] Eine oder mehrere bedingte Anweisungen, die die Bedingungen bestimmen, unter denen die Aktion gilt. Nein 2 Ja

Aufruf

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
Typ Schnur Der Instanziierungstyp für die Aktion. Die zulässigen Werte sind "uri" und "com". Ja 2 Nur "uri".
URI Schnur Der absolute URI zum Starten der Aktion. Die Entitätsnutzung kann in der Zeichenfolge enthalten sein. Ein spezieller reservierter Abfragezeichenfolgenparameter, token=${$.Token}, kann dem URI hinzugefügt werden, um Aktionen zu ermöglichen, zu überprüfen, ob sie vom Action Runtime aufgerufen wurden. Weitere Informationen finden Sie unter Verwenden des Parameter-Strings $.Token URI. Ja, für instanziierte URI-Aktionen. 2 Ja
clsid Schnur Die Klassen-ID für die COM-Klasse, die IActionProvider implementiert. Ja, für COM-Aktionen. 2 Nein
Eingabedaten JSON-Name/Wert-Paare Eine Liste mit Namen-Wert-Paaren, die zusätzliche Daten für URI-Aktionen angeben. Nein. Nur gültig für URI-Aktionen. 2 Ja

ActionEntityKind-Enumeration

Die ActionEntityKind-Aufzählung gibt die Typen von Entitäten an, die von App-Aktionen unter Windows unterstützt werden. Im Kontext einer JSON-Aktionsdefinition sind die Entitätstypen Zeichenfolgenliterale, bei denen die Groß-/Kleinschreibung beachtet wird.

Zeichenfolge für Entitätstyp BESCHREIBUNG Version PWA
"Datei" Enthält alle Dateitypen, die von Foto- oder Dokumententitätstypen nicht unterstützt werden. 2 Nur Eingabe.
"Foto" Bilddateitypen. Unterstützte Bilddateierweiterungen sind ".jpg", ".jpeg" und ".png" 2 Nur Eingabe.
"Dokument" Dokumentdateitypen. Unterstützte Dokumentdateierweiterungen sind ".doc", ".docx", ".pdf", ".txt" 2 Nur Eingabe.
„Text“ Unterstützt Textzeichenfolgen. 2 Nur Eingabe.
StreamingText Unterstützt schrittweise gestreamte Textdatenströme. 2 Falsch
"RemoteFile" Unterstützt Metadaten, um Aktionen zum Überprüfen und Abrufen von Sicherungsdateien aus einem Clouddienst zu ermöglichen. 2 Nur Eingabe.
"Tabelle" Eine 2D-Tabelle mit Zeichenfolgenwerten, die in ein 1-dimensionales Array von Zeichenfolgen serialisiert werden. 3 Nein.
"Kontakt" Eine Datenmenge, die einen Kontakt darstellt. 3 Nur Eingabe.

Entitätseigenschaften

Jeder Entitätstyp unterstützt eine oder mehrere Eigenschaften, die Instanzdaten für die Entität bereitstellen. Bei den Namen der Entitätseigenschaften wird zwischen Groß- und Kleinschreibung unterschieden.

Das folgende Beispiel veranschaulicht, wie Entitäten in der Abfragezeichenfolge für Aktionen referenziert werden, die über die URI-Aktivierung gestartet werden:

...?param1=${entityName.property1}&param2=${entityName.property2}

Informationen zum Verwenden von Entitätseigenschaften zum Erstellen von bedingten Abschnitten im JSON-Code der Aktionsdefinition finden Sie unter Where-Klauseln.

Entitätseigenschaften für Datei

Eigentum Typ BESCHREIBUNG Version PWA
Dateiname Schnur Der Name der Datei. 2 Nur Eingabe.
"Pfad" Schnur Der Pfad der Datei. 2 Nur Eingabe.
"Erweiterung" Schnur Die Erweiterung der Datei. 2 Nur Eingabe.

Eigenschaften der Dokumententität

Die Dokumententität unterstützt dieselben Eigenschaften wie "File".

Eigenschaften der Fotoentität

Die Photo-Entität unterstützt zusätzlich zu den folgenden Eigenschaften alle Eigenschaften von File .

Eigentum Typ BESCHREIBUNG Version PWA
IsTemporärerPfad Boolescher Typ (Boolean) Ein Wert, der angibt, ob das Foto in einem temporären Pfad gespeichert ist. Diese Eigenschaft gilt beispielsweise für Fotos, die aus einer Bitmap im Speicher gespeichert sind und nicht dauerhaft in einer Datei gespeichert sind. 2 Nur Eingabe.

Eigenschaften der Textentität

Eigentum Typ BESCHREIBUNG Version PWA
„Text“ Schnur Der vollständige Text. 2 Nur Eingabe.
Kurzer Text Schnur Eine verkürzte Version des Texts, die für die Ui-Anzeige geeignet ist. 2 Nur Eingabe.
"Titel" Schnur Der Titel des Texts. 2 Nur Eingabe.
„Beschreibung“ Schnur Eine Beschreibung des Texts. 2 Nur Eingabe.
"Länge" doppelt Die Länge des Texts in Zeichen. 2 Nur Eingabe.
Wortanzahl doppelt Die Anzahl der Wörter im Text. 2 Nur Eingabe.

StreamingText-Entitätseigenschaften

Eigentum Typ BESCHREIBUNG Version PWA
"TextFormat" Schnur Das Format des Streamingtexts. Unterstützte Werte sind "Plain", "Markdown". 2 Nein

Eigenschaften der RemoteFile-Entität

Eigentum Typ BESCHREIBUNG Version PWA
Konto-ID Schnur Der Bezeichner des Clouddienstkontos, das der Remotedatei zugeordnet ist. 2 Nur Eingabe.
Inhaltstyp Schnur Der MIME-Typ der Remotedatei. 2 Nur Eingabe.
"DriveId" Schnur Der Bezeichner für das Remotelaufwerk, das der Remotedatei zugeordnet ist. 2 Nur Eingabe.
"Erweiterung" Schnur Die Erweiterung der Remotedatei. 2 Nur Eingabe.
Datei-ID Schnur Der Bezeichner der Remotedatei. 2 Nur Eingabe.
"FileKind" RemoteFileKind Der Typ der entfernten Datei. 2 Nur Eingabe.
Quellen-ID Schnur Der Bezeichner des Clouddiensts, der die Remotedatei hosten soll. 2 Nur Eingabe.
"SourceUri" Schnur Der URI der Ferndatei. 2 Nur Eingabe.

RemoteFileKind-Aufzählung

Die RemoteFileKind-Aufzählung gibt die Dateitypen an, die für die RemoteFile-Entität unterstützt werden.

Zeichenfolge für Entitätstyp BESCHREIBUNG Version
"Datei" Enthält alle Dateitypen, die von Foto- oder Dokumententitätstypen nicht unterstützt werden. 2
"Foto" Bilddateitypen. Unterstützte Bilddateierweiterungen sind ".jpg", ".jpeg" und ".png" 2
"Dokument" Dokumentdateitypen. Unterstützte Dokumentdateierweiterungen sind ".doc", ".docx", ".pdf", ".txt" 2

Eigenschaften von Tabelleneinheiten

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
Zeilenanzahl Integer Die Anzahl der Zeilen in der Tabelle. Ja 3 Nein
Spaltenzahl Integer Die Anzahl der Spalten in der Tabelle. Ja 3 Nein
"Titel" Schnur Der Titel der Tabelle. Nein 3 Nein
„Beschreibung“ Schnur Die Beschreibung der Tabelle. Nein 3 Nein

Kontaktentitätseigenschaften

Eigentum Typ BESCHREIBUNG Erforderlich Version PWA
"E-Mail" Schnur Die E-Mail-Adresse des Kontakts. Nein 3 Nur Eingabe.
Vollständiger Name Integer Der vollständige Name des Kontakts. Nein 3 Nur Eingabe.
"Titel" Schnur Der Titel des Kontakts. Nein 3 Nur Eingabe.
„Beschreibung“ Schnur Die Beschreibung des Kontakts. Nein 3 Nur Eingabe.

Where-Klauseln

Das JSON-Format der Aktionsdefinition unterstützt , wo Klauseln verwendet werden können, mit denen bedingte Logik implementiert werden kann, z. B. die Angabe, dass eine Aktion nur aufgerufen werden soll, wenn eine Entitätseigenschaft einen angegebenen Wert aufweist.

Die folgenden Operatoren können mit WHERE-Klauseln verwendet werden.

Bediener BESCHREIBUNG
== Gleichheit
~= Gleichheit ohne Berücksichtigung der Groß-/Kleinschreibung
!= Ungleichheit
< Kleiner als
<= Kleiner als oder gleich
> Größer als
>= Größer oder gleich
|| Logisches OR
&& Logisches AND

Dabei verwenden Klauseln das folgende Format:

"where": [ 
    "${<property_accessor>} <operator> <value>" 
] 

Das folgende Beispiel zeigt eine Where-Klausel, die als „wahr“ ausgewertet wird, wenn eine File-Entität die Dateierweiterung „.txt“ aufweist.

"where": [ 
    "${File.Extension} ~= \".txt\"" 
] 

Mehrere WHERE-Bedingungen können mit den logischen Und- und Oder-Operatoren kombiniert werden.

"where": [ 
  "${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\"" 
]