Dela via


JSON-schema för åtgärdsdefinition för appåtgärder i Windows

I den här artikeln beskrivs formatet för åtgärdsdefinitionens JSON-filformat för App Actions i Windows. Den här filen måste ingå i projektet med Build Action inställd på "Innehåll" och Kopiera till Utdatakatalog inställd på "Kopiera om nyare". Ange den paketrelativa sökvägen till JSON-filen i paketmanifestets XML-fil. Mer information finns i Xml-format för åtgärdsproviderns paketmanifest.

Exempel på JSON-fil för åtgärdsdefinition

"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-egenskaper för åtgärdsdefinition

Tabellerna nedan beskriver egenskaperna för JSON-filen för åtgärdsdefinitionen.

Dokumentrot

Fastighet Typ Beskrivning Krävs
version snöre Schema-version När nya funktioner läggs till ökar versionen med en. Ja.
Åtgärder Åtgärd[] Definierar de åtgärder som tillhandahålls av appen. Ja.

Åtgärd

Fastighet Typ Beskrivning Krävs
Id-nummer snöre Åtgärdsidentifierare. Måste vara unikt per apppaket. Det här värdet kan inte lokaliseras. Ja
beskrivning snöre Användarriktad beskrivning för den här åtgärden. Det här värdet kan lokaliseras. Ja
ikon snöre Lokaliserbar ikon för åtgärden. Det här värdet är en ms-resurssträng för en ikon som distribueras med appen. Nej
använderGenerativAI Boolesk Anger om åtgärden använder generativ AI. Standardvärdet är falskt. Nej
ärTillgänglig Boolesk Anger om åtgärden är tillgänglig för användning vid installationen. Standardvärdet är sant. Ja
Ingångar Indata[] Lista över entiteter som den här åtgärden accepterar som indata. Ja
inmatningskombinationer Inmatningskombination[] Innehåller beskrivningar för olika kombinationer av indata. Ja
Utgångar Utdata[] Om det anges måste det vara en tom sträng i den aktuella versionen. Nej
invokation Åkallan Innehåller information om hur åtgärden anropas. Ja
innehållsåldersgräns snöre Ett fältnamn från UserAgeConsentGroup som anger lämplig åldersklassificering för åtgärden. De tillåtna värdena är "Child", "Minor", "Adult". Om inget värde anges ger standardbeteendet åtkomst till alla åldrar. Nej

Utgång

Fastighet Typ Beskrivning Krävs
namn snöre Variabelnamnet för entiteten. Det här värdet kan inte lokaliseras. Ja
typ snöre Ett fältnamn från uppräkningen ActionEntityKind som anger entitetstypen. Det här värdet kan inte lokaliseras. De tillåtna värdena är "None", "Document", "File", "Photo", "Text". Ja

Indatakombination

Fastighet Typ Beskrivning Krävs
Ingångar sträng[] En lista över indatanamn för ett åtgärdsanrop. Listan kan vara tom. Ja
beskrivning snöre Beskrivning av åtgärdsanropet. Det här värdet kan lokaliseras. Nej
där sträng[] En eller flera villkorssatser som avgör under vilka villkor åtgärden ska tillämpas. Nej

Åkallan

Fastighet Typ Beskrivning Krävs
typ snöre Instansieringstypen för åtgärden. De tillåtna värdena är "uri" och "com" Ja
URI snöre Den absoluta URI:n för att starta åtgärden. Användning av entiteter kan inkluderas i strängen. Ja, för instansierade URI-åtgärder.
clsid snöre Klass-ID för COM-klassen som implementerar IActionProvider. Ja, för COM-åtgärder
inmatningsdata En lista över namn/värdepar som anger ytterligare data för URI-åtgärder. Nej. Endast giltigt för URI-åtgärder.

ActionEntityKind-uppräkning

Uppräkning av ActionEntityKind anger vilka typer av entiteter som stöds av App Actions i Windows. I kontexten för en JSON-åtgärdsdefinition är entitetstyperna strängliteraler som är skiftlägeskänsliga.

Entitetstypsträng Beskrivning
"Fil" Innehåller alla filtyper som inte stöds av foto- eller dokumententitetstyper.
Foto Bildfiltyper. Filnamnstillägg som stöds är ".jpg", ".jpeg" och ".png"
"Dokument" Dokumentfiltyper. Dokumentfilnamnstillägg som stöds är ".doc", ".docx", ".pdf", ".txt"
"Text" Stöder textstycken.
StreamingText Stöder gradvis streamade textsträngar.
Fjärrfil Stöder metadata för att aktivera åtgärder för att verifiera och hämta säkerhetskopieringsfiler från en molntjänst.

Entitetsegenskaper

Varje entitetstyp stöder en eller flera egenskaper som tillhandahåller instansdata för entiteten. Entitetsegenskapsnamn är skiftlägeskänsliga.

I följande exempel visas hur entiteter refereras till i frågesträngen för åtgärder som startas via URI-aktivering:

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

Information om hur du använder entitetsegenskaper för att skapa villkorsstyrda avsnitt i åtgärdsdefinitionens JSON finns i Where-satser.

Egenskaper för fil entitet

Fastighet Typ Beskrivning
Filnamn snöre Namnet på filen.
Sökväg snöre Sökvägen till filen.
"Tillägg" snöre Filnamnstillägg.

Egenskaper för dokumententitet

Entiteten Dokument har stöd för samma egenskaper som Arkiv.

Egenskaper för fotoentitet

Entiteten Foto stöder alla egenskaper för Arkiv utöver följande egenskaper.

Fastighet Typ Beskrivning
IsTemporaryPath Boolesk Ett värde som anger om fotot lagras i en tillfällig sökväg. Den här egenskapen gäller till exempel för foton som lagras i minnet från en bitmapp, inte lagras permanent i en fil.

Egenskaper för textentitet

Fastighet Typ Beskrivning
"Text" snöre Den fullständiga texten.
KortText snöre En förkortad version av texten, lämplig för gränssnittsvisning.
Rubrik snöre Textens rubrik.
"Beskrivning" snöre En beskrivning av texten.
"Längd" dubbel Längden på texten i tecken.
Ordräkning dubbel Antalet ord i texten.

Egenskaper för StreamingText-entitet

Fastighet Typ Beskrivning
"Textformat" snöre Formatet för strömmande text. Värden som stöds är "Plain", "Markdown".

Egenskaper för RemoteFile-entitet

Fastighet Typ Beskrivning
Konto-ID snöre Identifieraren för molntjänstkontot som är associerat med fjärrfilen.
Innehållstyp snöre MIME-typen för fjärrfilen.
"DriveId" snöre Identifieraren för fjärrenheten som är associerad med fjärrfilen.
"Tillägg" snöre Filnamnstillägget för fjärrfilen.
FilId snöre Identifieraren för fjärrfilen.
"FileKind" RemoteFileKind Fjärrfilens typ.
SourceId snöre Identifieraren för molntjänsten som är värd för fjärrfilen.
"SourceUri" snöre Fjärrfilens URI.

RemoteFileKind-uppräkning

RemoteFileKind-uppräkningen anger vilka typer av filer som stöds för RemoteFile-entiteten.

Entitetstypsträng Beskrivning
"Fil" Innehåller alla filtyper som inte stöds av foto- eller dokumententitetstyper.
Foto Bildfiltyper. Filnamnstillägg som stöds är ".jpg", ".jpeg" och ".png"
"Dokument" Dokumentfiltyper. Dokumentfilnamnstillägg som stöds är ".doc", ".docx", ".pdf", ".txt"

WHERE-villkor

JSON-formatet för åtgärdsdefinitionen stöder där satser som kan användas för att implementera villkorsstyrd logik, till exempel att ange att en åtgärd endast ska anropas när en entitetsegenskap har ett angivet värde.

Följande operatorer kan användas med where-klausuler.

Operatör Beskrivning
== Jämlikhet
~= Skiftlägesokänslig jämlikhet
!= Olikhet
< Mindre än
<= Mindre än eller lika med
> Större än
>= Större än eller lika med
|| Logiskt ELLER
&& Logiskt OCH

Där satser använder följande format:

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

I följande exempel visas en where-klausul som utvärderas till sant om en filentitet har filnamnstillägget ".txt".

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

Flera där satser kan kombineras med hjälp av logiska OCH och logiska OR-operatorer.

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