Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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": 2,
"actions": [
{
"id": "Contoso.SampleGreeting",
"description": "Send greeting with Contoso",
"icon": "ms-resource//...",
"usesGenerativeAI": false,
"isAvailable": false,
"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.
Dokumentstamm
Eigentum | Typ | BESCHREIBUNG | Erforderlich |
---|---|---|---|
Ausgabe | Schnur | Schemaversion. Wenn neue Funktionen hinzugefügt wurden, erhöht sich die Version um eine. | Ja. |
Handlungen | Aktion[] | Definiert die von der App bereitgestellten Aktionen. | Ja. |
Maßnahme
Eigentum | Typ | BESCHREIBUNG | Erforderlich |
---|---|---|---|
id | Schnur | Aktionskennzeichen Muss pro Anwendungspaket einzigartig sein. Dieser Wert ist nicht lokalisierbar. | Ja |
Beschreibung | Schnur | Benutzerbezogene Beschreibung für diese Aktion. Dieser Wert ist lokalisierbar. | 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 |
verwendet Generative KI | Boolescher Typ (Boolean) | Gibt an, ob die Aktion generative KI verwendet. Der Standardwert ist "false". | Nein |
istVerfügbar | Boolescher Typ (Boolean) | Gibt an, ob die Aktion bei der Installation zur Verwendung verfügbar ist. Der Standardwert ist true. | Ja |
Eingaben | Eingaben[] | Liste der Entitäten, die diese Aktion als Eingabe akzeptiert. | Ja |
Eingabekombinationen | Eingabekombination[] | Stellt Beschreibungen für verschiedene Kombinationen von Eingaben bereit. | Ja |
Ergebnisse | Ausgabe[] | Wenn angegeben, muss es sich um eine leere Zeichenfolge in der aktuellen Version handeln. | Nein |
Aufruf | Aufruf | Enthält Informationen dazu, wie die Aktion aufgerufen wird. | 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 |
Ausgabe
Eigentum | Typ | BESCHREIBUNG | Erforderlich |
---|---|---|---|
Name | Schnur | Der Variablename der Entität. Dieser Wert ist nicht lokalisierbar. | 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". | Ja |
Eingabekombination
Eigentum | Typ | BESCHREIBUNG | Erforderlich |
---|---|---|---|
Eingaben | Zeichenfolge[] | Eine Liste der Eingabenamen für einen Aktionsaufruf. Die Liste ist möglicherweise leer. | Ja |
Beschreibung | Schnur | Beschreibung für den Aufruf der Aktion. Dieser Wert ist lokalisierbar. | Nein |
Hierbei gilt: | Zeichenfolge[] | Eine oder mehrere bedingte Anweisungen, die die Bedingungen bestimmen, unter denen die Aktion gilt. | Nein |
Aufruf
Eigentum | Typ | BESCHREIBUNG | Erforderlich |
---|---|---|---|
Typ | Schnur | Der Instanziierungstyp für die Aktion. Die zulässigen Werte sind "uri" und "com" | Ja |
URI | Schnur | Der absolute URI zum Starten der Aktion. Die Entitätsnutzung kann in der Zeichenfolge enthalten sein. | Ja, für instanziierte URI-Aktionen. |
clsid | Schnur | Die Klassen-ID für die COM-Klasse, die IActionProvider implementiert. | Ja, für COM-Aktionen |
Eingabedaten | Eine Liste mit Namen-Wert-Paaren, die zusätzliche Daten für URI-Aktionen angeben. | Nein. Nur gültig für URI-Aktionen. |
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 |
---|---|
"Datei" | Enthält alle Dateitypen, die von Foto- oder Dokumententitätstypen nicht unterstützt werden. |
"Foto" | Bilddateitypen. Unterstützte Bilddateierweiterungen sind ".jpg", ".jpeg" und ".png" |
"Dokument" | Dokumentdateitypen. Unterstützte Dokumentdateierweiterungen sind ".doc", ".docx", ".pdf", ".txt" |
„Text“ | Unterstützt Textzeichenfolgen. |
StreamingText | Unterstützt schrittweise gestreamte Textdatenströme. |
"RemoteFile" | Unterstützt Metadaten, um Aktionen zum Überprüfen und Abrufen von Sicherungsdateien aus einem Clouddienst zu ermöglichen. |
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}¶m2=${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 |
---|---|---|
Dateiname | Schnur | Der Name der Datei. |
"Pfad" | Schnur | Der Pfad der Datei. |
"Erweiterung" | Schnur | Die Erweiterung der Datei. |
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 |
---|---|---|
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. |
Eigenschaften der Textentität
Eigentum | Typ | BESCHREIBUNG |
---|---|---|
„Text“ | Schnur | Der vollständige Text. |
Kurzer Text | Schnur | Eine verkürzte Version des Texts, die für die Ui-Anzeige geeignet ist. |
"Titel" | Schnur | Der Titel des Texts. |
„Beschreibung“ | Schnur | Eine Beschreibung des Texts. |
"Länge" | doppelt | Die Länge des Texts in Zeichen. |
Wortanzahl | doppelt | Die Anzahl der Wörter im Text. |
StreamingText-Entitätseigenschaften
Eigentum | Typ | BESCHREIBUNG |
---|---|---|
"TextFormat" | Schnur | Das Format des Streamingtexts. Unterstützte Werte sind "Plain", "Markdown". |
Eigenschaften der RemoteFile-Entität
Eigentum | Typ | BESCHREIBUNG |
---|---|---|
Konto-ID | Schnur | Der Bezeichner des Clouddienstkontos, das der Remotedatei zugeordnet ist. |
Inhaltstyp | Schnur | Der MIME-Typ der Remotedatei. |
"DriveId" | Schnur | Der Bezeichner für das Remotelaufwerk, das der Remotedatei zugeordnet ist. |
"Erweiterung" | Schnur | Die Erweiterung der Remotedatei. |
Datei-ID | Schnur | Der Bezeichner der Remotedatei. |
"FileKind" | RemoteFileKind | Der Typ der entfernten Datei. |
Quellen-ID | Schnur | Der Bezeichner des Clouddiensts, der die Remotedatei hosten soll. |
"SourceUri" | Schnur | Der URI der Ferndatei. |
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 |
---|---|
"Datei" | Enthält alle Dateitypen, die von Foto- oder Dokumententitätstypen nicht unterstützt werden. |
"Foto" | Bilddateitypen. Unterstützte Bilddateierweiterungen sind ".jpg", ".jpeg" und ".png" |
"Dokument" | Dokumentdateitypen. Unterstützte Dokumentdateierweiterungen sind ".doc", ".docx", ".pdf", ".txt" |
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\""
]