Delen via


JSON-schema voor actiedefinitie voor app-acties in Windows

In dit artikel wordt de indeling van de JSON-bestandsindeling van de actiedefinitie voor app-acties in Windows beschreven. Dit bestand moet worden opgenomen in uw project met de buildactie ingesteld op 'Inhoud' en Kopiëren naar uitvoermap ingesteld op 'Kopiëren als nieuwer'. Geef het pakket-relatieve pad op naar het JSON-bestand in het XML-bestand van het pakketmanifest. Zie de XML-indeling voor het pakketmanifest van de Action Provider voor meer informatie.

JSON-voorbeeldactiedefinitiebestand

"version": 3, 
  "actions": [ 
    { 
      "id": "Contoso.SampleGreeting", 
      "description": "Send greeting with Contoso", 
      "icon": "ms-resource//...",
      "displaysUI": false, 
      "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-eigenschappen van de actiedefinitie

In de onderstaande tabellen worden de eigenschappen van het JSON-bestand met de actiedefinitie beschreven.

Het veld Versie geeft de schemaversie aan waarin de eigenschap is geïntroduceerd.

Het veld PWA geeft ondersteuning aan voor actieproviders die zijn geïmplementeerd als een Progressive Web App (PWA). Zie App-acties inschakelen op Windows voor een PWA voor meer informatie over app-acties met PWA's.

Hoofdmap van document

Vastgoed Typologie Beschrijving Verplicht Versie
Versie touw Schemaversie. Wanneer er nieuwe functionaliteit is toegevoegd, wordt de versie met één verhoogd. Ja. 2
Acties Actie[] Hiermee definieert u de acties die door de app worden geleverd. Ja. 2

Handeling

Vastgoed Typologie Beschrijving Verplicht Versie PWA
identiteitskaart touw Actie-id. Moet uniek zijn per app-pakket. Deze waarde kan niet worden gelokaliseerd. Ja 2 Ja
beschrijving touw Beschrijving bedoeld voor de gebruiker voor deze actie. Deze waarde kan worden gelokaliseerd. Ja 2 Ja
ikoontje touw Lokaliseerbaar pictogram voor de actie. Deze waarde is een ms-resource-tekenreeks voor een pictogram dat is geïmplementeerd met de app. Nee. 2 Ja
allowedAppInvokers Snaar[] Hiermee geeft u een lijst met toepassingsgebruikersmodel-id's (AppUserModelIDs) op waarmee de actie kan worden gedetecteerd via een aanroep naar GetActionsForInputs of GetAllActions. Jokertekens worden ondersteund. *komt overeen met alle AppUserModelIDs. Dit wordt aanbevolen voor de meeste acties, tenzij er een specifieke reden is om de bellers te beperken die een actie kunnen aanroepen. Als allowedAppInvokers wordt weggelaten of een lege lijst is, kunnen er geen apps de actie detecteren. Zie Model-id's van toepassingsgebruikers voor meer informatie over AppUserModelIDs. Nee. 3 Ja
displaysUI Booleaan Hiermee geeft u op of de actie de gebruikersinterface kan weergeven. De standaardwaarde is waar. Nee. 2 Ja
gebruiktGeneratieveAI Booleaan Hiermee geeft u op of de actie gebruikmaakt van generatieve AI. De standaardwaarde is onwaar. Nee. 2 Ja
isBeschikbaar Booleaan Hiermee geeft u op of de actie beschikbaar is voor gebruik bij de installatie. De standaardwaarde is waar. Ja 2 Ja
Ingangen Invoer[] Lijst met entiteiten die als invoer door deze actie worden geaccepteerd. Ja 2 Ja
invoercombinaties InputCombinatie[] Bevat beschrijvingen voor verschillende combinaties van invoer. Ja 2 Ja
Uitgangen Uitvoer[] Indien opgegeven, moet het in de huidige release een lege tekenreeks zijn. Nee. 2 Ja
aanroep Aanroep Bevat informatie over hoe de actie wordt aangeroepen. Ja 2 Ja
leeftijdsclassificatie van de inhoud touw Een veldnaam van de UserAgeConsentGroup waarmee de juiste leeftijdsclassificatie voor de actie wordt opgegeven. De toegestane waarden zijn 'Child', 'Minor', 'Adult'. Als er geen waarde is opgegeven, heeft het standaardgedrag toegang tot alle leeftijden. Nee. 2 Ja

Uitvoer

Vastgoed Typologie Beschrijving Verplicht Versie PWA
naam touw De naam van de variabele van de entiteit. Deze waarde kan niet worden gelokaliseerd. Ja 2 Ja
vriendelijk touw Een veldnaam uit de opsomming ActionEntityKind waarmee het entiteitstype wordt opgegeven. Deze waarde kan niet worden gelokaliseerd. De toegestane waarden zijn 'None', 'Document', 'File', 'Photo', 'Text', 'StreamingText', 'RemoteFile', 'Table', 'Contact'. Ja 2 Ja

De schemaversie en PWA-ondersteuning variëren voor de verschillende waarden van de soort eigenschap. Zie de vermelding voor elk entiteitstype voor meer informatie.

Invoervariant

Vastgoed Typologie Beschrijving Verplicht Versie PWA
Ingangen Snaar[] Een lijst met invoernamen voor een actieaanroep. De lijst is mogelijk leeg. Ja 2 Ja
beschrijving touw Beschrijving voor de aanroep van de actie. Deze waarde kan worden gelokaliseerd. Nee. 2 Ja
waar Snaar[] Een of meer voorwaardelijke instructies die bepalen onder welke voorwaarden de actie van toepassing is. Nee. 2 Ja

Aanroep

Vastgoed Typologie Beschrijving Verplicht Versie PWA
soort touw Het instantietype voor de actie. De toegestane waarden zijn 'URI' en 'com'. Ja 2 Alleen 'URI'.
URI touw De absolute URI voor het starten van de actie. Het gebruik van entiteiten kan in de tekenreeks worden opgenomen. Een speciale gereserveerde queryreeksparameter token=${$.Token} kan worden toegevoegd aan de URI om acties toe te staan om te valideren dat deze zijn aangeroepen door de Action Runtime. Zie voor meer informatie Gebruik de $.Token URI-querystringparameter. Ja, voor geïnstantieerde URI-acties. 2 Ja
clsid touw De klasse-id voor de COM-klasse die IActionProvider implementeert. Ja, voor COM-acties. 2 Nee.
invoergegevens JSON-naam-/waardeparen Een lijst met naam-/waardeparen die aanvullende gegevens voor URI-acties opgeven. Nee. Alleen geldig voor URI-acties. 2 Ja

Opsomming van ActionEntityKind

De opsomming ActionEntityKind geeft de typen entiteiten op die worden ondersteund door App Actions in Windows. In de context van een JSON-actiedefinitie zijn de entiteitstypen letterlijke tekenreeksen die hoofdlettergevoelig zijn.

Tekenreeks voor entiteitstype Beschrijving Versie PWA
"Bestand" Bevat alle bestandstypen die niet worden ondersteund door entiteitstypen voor foto's of documenten. 2 Alleen invoer.
Foto Afbeeldingsbestandstypen. Ondersteunde bestandsextensies voor afbeeldingsbestanden zijn '.jpg', '.jpeg' en '.png' 2 Alleen invoer.
Het document Documentbestandstypen. Ondersteunde documentbestandsextensies zijn '.doc', '.docx', '.pdf', '.txt' 2 Alleen invoer.
"Tekst" Ondersteunt tekenreeksen van tekst. 2 Alleen invoer.
StreamingText Ondersteunt incrementeel gestreamde tekenreeksen van tekst. 2 Onwaar
RemoteFile Ondersteunt metagegevens om acties in te schakelen voor het valideren en ophalen van back-upbestanden van een cloudservice. 2 Alleen invoer.
Tabel Een 2D-tabel met tekenreekswaarden die wordt geserialiseerd naar een 1 dimensionale matrix met tekenreeksen. 3 Nee.
"Contactpersoon" Een set gegevens die een contactpersoon vertegenwoordigen. 3 Alleen invoer.

Entiteitseigenschappen

Elk entiteitstype ondersteunt een of meer eigenschappen die instantiegegevens voor de entiteit bieden. De namen van entiteitseigenschappen zijn hoofdlettergevoelig.

In het volgende voorbeeld ziet u hoe naar entiteiten wordt verwezen in de querytekenreeks voor acties die worden gestart via URI-activering:

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

Zie Where-componenten voor informatie over het gebruik van entiteitseigenschappen voor het maken van voorwaardelijke secties in de JSON-actiedefinitie.

Eigenschappen van bestandsentiteit

Vastgoed Typologie Beschrijving Versie PWA
"FileName" touw De naam van het bestand. 2 Alleen invoer.
"Pad" touw Het pad van het bestand. 2 Alleen invoer.
"Extensie" touw De extensie van het bestand. 2 Alleen invoer.

Eigenschappen van documententiteiten

De entiteit Document ondersteunt dezelfde eigenschappen als Bestand.

Eigenschappen van foto-entiteit

De entiteit Photo ondersteunt naast de volgende eigenschappen alle eigenschappen van Bestand .

Vastgoed Typologie Beschrijving Versie PWA
IsTijdelijkPad Booleaan Een waarde die aangeeft of de foto is opgeslagen in een tijdelijk pad. Deze eigenschap is bijvoorbeeld waar voor foto's die zijn opgeslagen in het geheugen van een bitmap, niet permanent opgeslagen in een bestand. 2 Alleen invoer.

Eigenschappen van tekstentiteit

Vastgoed Typologie Beschrijving Versie PWA
"Tekst" touw De volledige tekst. 2 Alleen invoer.
KorteTekst touw Een verkorte versie van de tekst, geschikt voor weergave van de gebruikersinterface. 2 Alleen invoer.
"Titel" touw De titel van de tekst. 2 Alleen invoer.
"Beschrijving" touw Een beschrijving van de tekst. 2 Alleen invoer.
"Lengte" dubbel De lengte van de tekst in tekens. 2 Alleen invoer.
Woordental dubbel Het aantal woorden in de tekst. 2 Alleen invoer.

Eigenschappen van StreamingText-entiteit

Vastgoed Typologie Beschrijving Versie PWA
"TextFormat" touw De indeling van de streamingtekst. Ondersteunde waarden zijn "Platte tekst", "Markdown". 2 Nee.

Eigenschappen van remoteFile-entiteit

Vastgoed Typologie Beschrijving Versie PWA
"AccountId" touw De id van het cloudserviceaccount dat is gekoppeld aan het externe bestand. 2 Alleen invoer.
Inhoudstype touw Het MIME-type van het externe bestand. 2 Alleen invoer.
"DriveId" touw De identificator voor het externe station dat gekoppeld is aan het externe bestand. 2 Alleen invoer.
"Extensie" touw De extensie van het externe bestand. 2 Alleen invoer.
"FileId" touw De identificator van het externe bestand. 2 Alleen invoer.
"FileKind" RemoteFileKind Het externe bestandstype. 2 Alleen invoer.
"SourceId" touw De id van de cloudservice die als host fungeert voor het externe bestand. 2 Alleen invoer.
"SourceUri" touw De URI van het externe bestand. 2 Alleen invoer.

Enumeratie RemoteFileKind

Met de opsomming RemoteFileKind worden de typen bestanden opgegeven die worden ondersteund voor de entiteit RemoteFile .

Tekenreeks voor entiteitstype Beschrijving Versie
"Bestand" Bevat alle bestandstypen die niet worden ondersteund door entiteitstypen voor foto's of documenten. 2
Foto Afbeeldingsbestandstypen. Ondersteunde bestandsextensies voor afbeeldingsbestanden zijn '.jpg', '.jpeg' en '.png' 2
Het document Documentbestandstypen. Ondersteunde documentbestandsextensies zijn '.doc', '.docx', '.pdf', '.txt' 2

Eigenschappen van tabelentiteit

Vastgoed Typologie Beschrijving Verplicht Versie PWA
"RowCount" integer Het aantal rijen in de tabel. Ja 3 Nee.
KolomAantal integer Het aantal kolommen in de tabel. Ja 3 Nee.
"Titel" touw De titel van de tabel. Nee. 3 Nee.
"Beschrijving" touw De beschrijving van de tabel. Nee. 3 Nee.

Eigenschappen van contactpersoonentiteit

Vastgoed Typologie Beschrijving Verplicht Versie PWA
"E-mail" touw Het e-mailadres van de contactpersoon. Nee. 3 Alleen invoer.
"FullName" integer De volledige naam van de contactpersoon. Nee. 3 Alleen invoer.
"Titel" touw De titel van de contactpersoon. Nee. 3 Alleen invoer.
"Beschrijving" touw De beschrijving van de contactpersoon. Nee. 3 Alleen invoer.

Where-clausules

De JSON-indeling van de actiedefinitie ondersteunt waar componenten kunnen worden gebruikt voor het implementeren van voorwaardelijke logica, zoals het opgeven dat een actie alleen moet worden aangeroepen wanneer een entiteitseigenschap een opgegeven waarde heeft.

De volgende operators kunnen worden gebruikt met where-componenten .

Operateur Beschrijving
== Gelijkheid
~= Hoofdletterongevoelige gelijkheid
!= Ongelijkheid
< Kleiner dan
<= Kleiner dan of gelijk aan
> Groter dan
>= Groter dan of gelijk aan
|| Logische OR
&& Logische AND

Waar clausules gebruiken de volgende indeling:

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

In het volgende voorbeeld ziet u een where-clausule die waar evalueert als een bestand de bestandsextensie ".txt" heeft.

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

Meerdere where-componenten kunnen worden gecombineerd met behulp van de logische EN- en logische OR-operators.

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