Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |
| où | 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}¶m2=${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\""
]