Notes
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": 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": "{...}"
}
}
]
}
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.
Racine du document
Propriété | Catégorie | Descriptif | Obligatoire |
---|---|---|---|
Version | ficelle | Version du schéma. Lorsque de nouvelles fonctionnalités sont ajoutées, la version est incrémentée d’un. | Oui. |
Actions | Action[] | Définit les actions fournies par l’application. | Oui. |
Action
Propriété | Catégorie | Descriptif | Obligatoire |
---|---|---|---|
pièce d'identité | ficelle | Identificateur d’action. Doit être unique par package d’application. Cette valeur n’est pas localisable. | Oui |
descriptif | ficelle | Description accessible par l’utilisateur pour cette action. Cette valeur est localisable. | 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 |
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 |
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 |
entrées | Entrées[] | Liste des entités que cette action accepte comme entrée. | Oui |
combinaisons d'entrée | CombinaisonD'entrée[] | Fournit des descriptions pour différentes combinaisons d’entrées. | Oui |
sorties | Sortie[] | Si spécifié, cela doit être une chaîne vide dans la version actuelle. | Non |
invocation | Appel | Fournit des informations sur la manière dont l’action est invoquée. | 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 |
Sortie
Propriété | Catégorie | Descriptif | Obligatoire |
---|---|---|---|
nom | ficelle | Nom de la variable de l’entité. Cette valeur n’est pas localisable. | 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 ». | Oui |
Combinaison entrée
Propriété | Catégorie | Descriptif | Obligatoire |
---|---|---|---|
entrées | chaîne de caractères[] | Liste des noms d’entrée pour un appel d’action. La liste peut être vide. | Oui |
descriptif | ficelle | Description de l’appel d’action. Cette valeur est localisable. | Non |
où | chaîne de caractères[] | Une ou plusieurs instructions conditionnelles déterminant les conditions dans lesquelles l’action s’applique. | Non |
Appel
Propriété | Catégorie | Descriptif | Obligatoire |
---|---|---|---|
type | ficelle | Type d’instanciation de l’action. Les valeurs autorisées sont « uri » et « com » | Oui |
URI | ficelle | URI absolu pour le lancement de l’action. L’utilisation de l’entité peut être incluse dans la chaîne. | Oui, pour les actions instanciées par URI. |
clsid | ficelle | ID de classe de la classe COM qui implémente IActionProvider. | Oui, pour les actions COM |
données d'entrée | 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. |
É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 |
---|---|
« Fichier » | Inclut tous les types de fichiers qui ne sont pas pris en charge par les entités de type photo ou document. |
« Photo » | Types de fichiers image. Les extensions de fichier image prises en charge sont «.jpg», « .jpeg » et «.png» |
« Document » | Types de fichiers de document. Les extensions de fichier de document prises en charge sont « .doc », «.docx», «.pdf», «.txt» |
"Texte" | Prend en charge les chaînes de texte. |
« StreamingText » | Prend en charge les chaînes de texte diffusées en continu de façon incrémentielle. |
« 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. |
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 |
---|---|---|
Nom de fichier | ficelle | Le nom du fichier. |
« Chemin » | ficelle | Chemin d’accès du fichier. |
« Extension » | ficelle | Extension de fichier. |
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 |
---|---|---|
« 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. |
Propriétés de l’entité de texte
Propriété | Catégorie | Descriptif |
---|---|---|
"Texte" | ficelle | Texte intégral. |
« ShortText » | ficelle | Version abrégée du texte, adaptée à l’affichage de l’interface utilisateur. |
Titre | ficelle | Titre du texte. |
« Description » | ficelle | Description du texte. |
Longueur | double | Longueur du texte en caractères. |
Compteur de mots | double | Nombre de mots dans le texte. |
Propriétés de l’entité StreamingText
Propriété | Catégorie | Descriptif |
---|---|---|
« TextFormat » | ficelle | Format du texte de diffusion en continu. Les valeurs prises en charge sont « Plain », « Markdown ». |
Propriétés de l’entité RemoteFile
Propriété | Catégorie | Descriptif |
---|---|---|
« AccountId » | ficelle | Identificateur du compte de service cloud associé au fichier distant. |
« TypeDeContenu » | ficelle | Type MIME du fichier distant. |
« DriveId » | ficelle | Identificateur du lecteur distant associé au fichier distant. |
« Extension » | ficelle | Extension du fichier distant. |
« FileId » | ficelle | Identificateur du fichier distant. |
« FileKind » | RemoteFileKind | Type de fichier distant. |
« SourceId » | ficelle | Identificateur du service cloud qui héberge le fichier distant. |
« SourceUri » | ficelle | URI du fichier distant. |
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 |
---|---|
« Fichier » | Inclut tous les types de fichiers qui ne sont pas pris en charge par les entités de type photo ou document. |
« Photo » | Types de fichiers image. Les extensions de fichier image prises en charge sont «.jpg», « .jpeg » et «.png» |
« Document » | Types de fichiers de document. Les extensions de fichier de document prises en charge sont « .doc », «.docx», «.pdf», «.txt» |
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\""
]