Partager via


Schéma JSON de définition d’action pour Les actions d’application sur Windows

Cet article décrit le format du format de fichier JSON de définition d’action pour Les actions d’application sur Windows. Ce fichier doit être inclus dans votre projet avec l’action de génération définie sur « Contenu » et copier dans le répertoire de sortie défini sur « Copier si plus récent ». Spécifiez le chemin d’accès relatif au package du fichier JSON dans votre fichier XML du manifeste du package. Pour plus d’informations, consultez le format XML du manifeste du package du fournisseur d’actions.

Exemple de fichier JSON de définition d’action

"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": "{...}" 
      } 
    } 
  ] 
} 

Propriétés JSON de définition d’action

Les tableaux ci-dessous décrivent les propriétés du fichier JSON de définition d’action.

Le champ Version indique la version du schéma dans laquelle la propriété a été introduite.

Le champ PWA indique la prise en charge des fournisseurs d’actions implémentés en tant qu’application web progressive (PWA). Pour plus d’informations sur les actions d’application avec des PWA, consultez Activer les actions d’application sur Windows pour une application PWA.

Racine du document

Propriété Catégorie Descriptif Obligatoire Version
Version ficelle Version du schéma. Lorsque de nouvelles fonctionnalités sont ajoutées, la version est incrémentée d’un. Oui. 2
Actions Action[] Définit les actions fournies par l’application. Oui. 2

Action

Propriété Catégorie Descriptif Obligatoire Version PWA
pièce d'identité ficelle Identificateur d’action. Doit être unique par package d’application. Cette valeur n’est pas localisable. Oui 2 Oui
descriptif ficelle Description accessible par l’utilisateur pour cette action. Cette valeur est localisable. Oui 2 Oui
Wi-Fi ficelle Icône localisable pour l’action. Cette valeur est une chaîne ms-resource pour une icône déployée avec l’application. Non 2 Oui
allowedAppInvokers chaîne de caractères[] Spécifie une liste des ID de modèle utilisateur d’application (AppUserModelIDs) qui peuvent découvrir l’action via un appel à GetActionsForInputs ou GetAllActions. Les caractères génériques sont pris en charge. « * » correspond à tous les IdiD AppUserModel. Ceci est recommandé pour la plupart des actions, sauf s’il existe une raison spécifique de limiter les appelants qui peuvent appeler une action. Si allowedAppInvokers est omis ou est une liste vide, aucune application ne pourra découvrir l’action. Pour plus d’informations sur appUserModelIDs, consultez ID de modèle utilisateur d’application Non 3 Oui
utiliseL'intelligenceArtificielleGénérative Booléen Spécifie si l’action utilise l’IA générative. La valeur par défaut est false. Non 2 Oui
estDisponible Booléen Spécifie si l’action est disponible pour une utilisation lors de l’installation. La valeur par défaut est true. Oui 2 Oui
entrées Entrées[] Liste des entités que cette action accepte comme entrée. Oui 2 Oui
combinaisons d'entrée CombinaisonD'entrée[] Fournit des descriptions pour différentes combinaisons d’entrées. Oui 2 Oui
sorties Sortie[] Si spécifié, cela doit être une chaîne vide dans la version actuelle. Non 2 Oui
invocation Appel Fournit des informations sur la manière dont l’action est invoquée. Oui 2 Oui
classification par âge du contenu ficelle Nom de champ de UserAgeConsentGroup qui spécifie l’évaluation d’âge appropriée pour l’action. Les valeurs autorisées sont « Child », « Minor », « Adult ». Si aucune valeur n’est spécifiée, le comportement par défaut autorise l’accès à tous les âges. Non 2 Oui

Sortie

Propriété Catégorie Descriptif Obligatoire Version PWA
nom ficelle Nom de la variable de l’entité. Cette valeur n’est pas localisable. Oui 2 Oui
gentil ficelle Nom de champ de l’énumération ActionEntityKind spécifiant le type d’entité. Cette valeur n’est pas localisable. Les valeurs autorisées sont « None », « Document », « File », « Photo », « Text », « StreamingText », « RemoteFile », « Table », « Contact ». Oui 2 Oui

La version du schéma et la prise en charge PWA varient selon les différentes valeurs de la propriété de type . Pour plus d’informations, consultez l’entrée de chaque type d’entité.

Combinaison entrée

Propriété Catégorie Descriptif Obligatoire Version PWA
entrées chaîne de caractères[] Liste des noms d’entrée pour un appel d’action. La liste peut être vide. Oui 2 Oui
descriptif ficelle Description de l’appel d’action. Cette valeur est localisable. Non 2 Oui
chaîne de caractères[] Une ou plusieurs instructions conditionnelles déterminant les conditions dans lesquelles l’action s’applique. Non 2 Oui

Appel

Propriété Catégorie Descriptif Obligatoire Version PWA
type ficelle Type d’instanciation de l’action. Les valeurs autorisées sont « uri » et « com ». Oui 2 Seul « uri ».
URI ficelle URI absolu pour le lancement de l’action. L’utilisation de l’entité peut être incluse dans la chaîne. Un paramètre de chaîne de requête réservée spécial peut token=${$.Token} être ajouté à l’URI pour autoriser les actions à valider qu’elles ont été appelées par le runtime d’action. Pour plus d'informations, consultez l'utilisation du paramètre de chaîne de requête d'URI $.Token. Oui, pour les actions instanciées par URI. 2 Oui
clsid ficelle ID de classe de la classe COM qui implémente IActionProvider. Oui, pour les actions COM. 2 Non
données d'entrée Paires nom/valeur JSON Liste des paires nom/valeur spécifiant des données supplémentaires pour les actions d’URI. Non. Valide uniquement pour les actions d’URI. 2 Oui

Énumération ActionEntityKind

L’énumération ActionEntityKind spécifie les types d’entités prises en charge par Les actions d’application sur Windows. Dans le contexte d’une définition d’action JSON, les types d’entités sont des littéraux de chaîne qui respectent la casse.

Chaîne de type d’entité Descriptif Version PWA
« Fichier » Inclut tous les types de fichiers qui ne sont pas pris en charge par les entités de type photo ou document. 2 Entrée uniquement.
« Photo » Types de fichiers image. Les extensions de fichier image prises en charge sont «.jpg», « .jpeg » et «.png» 2 Entrée uniquement.
« Document » Types de fichiers de document. Les extensions de fichier de document prises en charge sont « .doc », «.docx», «.pdf», «.txt» 2 Entrée uniquement.
"Texte" Prend en charge les chaînes de texte. 2 Entrée uniquement.
« StreamingText » Prend en charge les chaînes de texte diffusées en continu de façon incrémentielle. 2 Faux
« RemoteFile » Prend en charge les métadonnées pour permettre aux actions de valider et de récupérer des fichiers de stockage à partir d’un service cloud. 2 Entrée uniquement.
« Table » Table 2D de valeurs de chaîne sérialisée dans un tableau 1 dimensionnel de chaînes. 3 Non.
« Contact » Ensemble de données représentant un contact. 3 Entrée uniquement.

Propriétés d’entité

Chaque type d’entité prend en charge une ou plusieurs propriétés qui fournissent des données d’instance pour l’entité. Les noms de propriété d’entité respectent la casse.

L’exemple suivant montre comment les entités sont référencées dans la chaîne de requête pour les actions lancées via l’activation de l’URI :

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

Pour plus d’informations sur l’utilisation des propriétés d’entité pour créer des sections conditionnelles dans la définition d’action JSON, consultez les clauses Where.

Propriétés d’entité de fichier

Propriété Catégorie Descriptif Version PWA
Nom de fichier ficelle Le nom du fichier. 2 Entrée uniquement.
« Chemin » ficelle Chemin d’accès du fichier. 2 Entrée uniquement.
« Extension » ficelle Extension de fichier. 2 Entrée uniquement.

Propriétés d’entité de document

L’entité Document prend en charge les mêmes propriétés que File.

Propriétés de l’entité photo

L’entité Photo prend en charge toutes les propriétés de File en plus des propriétés suivantes.

Propriété Catégorie Descriptif Version PWA
« IsTemporaryPath » Booléen Valeur spécifiant si la photo est stockée dans un chemin d’accès temporaire. Par exemple, cette propriété est vraie pour les photos stockées en mémoire à partir d’une bitmap, qui ne sont pas stockées définitivement dans un fichier. 2 Entrée uniquement.

Propriétés de l’entité de texte

Propriété Catégorie Descriptif Version PWA
"Texte" ficelle Texte intégral. 2 Entrée uniquement.
« ShortText » ficelle Version abrégée du texte, adaptée à l’affichage de l’interface utilisateur. 2 Entrée uniquement.
Titre ficelle Titre du texte. 2 Entrée uniquement.
« Description » ficelle Description du texte. 2 Entrée uniquement.
Longueur double Longueur du texte en caractères. 2 Entrée uniquement.
Compteur de mots double Nombre de mots dans le texte. 2 Entrée uniquement.

Propriétés de l’entité StreamingText

Propriété Catégorie Descriptif Version PWA
« TextFormat » ficelle Format du texte de diffusion en continu. Les valeurs prises en charge sont « Plain », « Markdown ». 2 Non

Propriétés de l’entité RemoteFile

Propriété Catégorie Descriptif Version PWA
« AccountId » ficelle Identificateur du compte de service cloud associé au fichier distant. 2 Entrée uniquement.
« TypeDeContenu » ficelle Type MIME du fichier distant. 2 Entrée uniquement.
« DriveId » ficelle Identificateur du lecteur distant associé au fichier distant. 2 Entrée uniquement.
« Extension » ficelle Extension du fichier distant. 2 Entrée uniquement.
« FileId » ficelle Identificateur du fichier distant. 2 Entrée uniquement.
« FileKind » RemoteFileKind Type de fichier distant. 2 Entrée uniquement.
« SourceId » ficelle Identificateur du service cloud qui héberge le fichier distant. 2 Entrée uniquement.
« SourceUri » ficelle URI du fichier distant. 2 Entrée uniquement.

RemoteFileKind, énumération

L’énumération RemoteFileKind spécifie les types de fichiers pris en charge pour l’entité RemoteFile .

Chaîne de type d’entité Descriptif Version
« Fichier » Inclut tous les types de fichiers qui ne sont pas pris en charge par les entités de type photo ou document. 2
« Photo » Types de fichiers image. Les extensions de fichier image prises en charge sont «.jpg», « .jpeg » et «.png» 2
« Document » Types de fichiers de document. Les extensions de fichier de document prises en charge sont « .doc », «.docx», «.pdf», «.txt» 2

Propriétés d’entité de table

Propriété Catégorie Descriptif Obligatoire Version PWA
« RowCount » entier Nombre de lignes dans la table. Oui 3 Non
« ColumnCount » entier Nombre de colonnes dans la table. Oui 3 Non
Titre ficelle Titre du tableau. Non 3 Non
« Description » ficelle Description de la table. Non 3 Non

Propriétés de l’entité contact

Propriété Catégorie Descriptif Obligatoire Version PWA
« E-mail » ficelle Adresse e-mail du contact. Non 3 Entrée uniquement.
« FullName » entier Nom complet du contact. Non 3 Entrée uniquement.
Titre ficelle Titre du contact. Non 3 Entrée uniquement.
« Description » ficelle Description du contact. Non 3 Entrée uniquement.

Clauses WHERE

Le format JSON de définition d’action prend en charge les clauses qui peuvent être utilisées pour implémenter une logique conditionnelle, par exemple en spécifiant qu’une action doit être appelée uniquement lorsqu’une propriété d’entité a une valeur spécifiée.

Les opérateurs suivants peuvent être utilisés avec les clauses Where .

Opérateur Descriptif
== Égalité
~= Égalité sans respect de la casse
!= Inégalité
< Inférieur à
<= Inférieur ou égal à
> Supérieur à
>= Supérieur ou égal à
|| OU logique
&& ET logique

Les clauses Where utilisent le format suivant :

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

L’exemple suivant montre une clause where qui prend la valeur true si une entité File a l’extension de fichier «.txt».

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

Plusieurs clauses where peuvent être combinées avec les opérateurs logiques ET et OU.

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