Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve o formato do formato de arquivo JSON de definição de ação para Ações de Aplicativo no Windows. Esse arquivo deve ser incluído em seu projeto com a Ação de compilação definida como "Conteúdo" e Copiar para o diretório de saída definida como "Copiar se for mais recente". Especifique o caminho relativo ao pacote para o arquivo JSON no arquivo XML do manifesto do pacote. Para obter mais informações, consulte Manifesto de pacote XML do fornecedor de ações.
Exemplo de arquivo JSON de definição de ação
"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": "{...}"
}
}
]
}
Propriedades JSON de definição de ação
As tabelas abaixo descrevem as propriedades do arquivo JSON de definição de ação.
O campo Versão indica a versão do esquema na qual a propriedade foi introduzida.
O campo PWA indica suporte para provedores de ação que são implementados como uma aplicação web progressiva (PWA). Para obter mais informações sobre ações de aplicativos com PWAs, consulte Habilitar ações de aplicativos no Windows para um PWA.
Raiz do documento
| Propriedade | Tipo | Descrição | Obrigatório | Versão |
|---|---|---|---|---|
| versão | cadeia (de caracteres) | Versão do esquema. Quando uma nova funcionalidade é adicionada, a versão aumenta em um. | Sim. | 2 |
| ações | Ação[] | Define as ações fornecidas pelo aplicativo. | Sim. | 2 |
Ação
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| identificação | cadeia (de caracteres) | Identificador de ação. Deve ser exclusivo por pacote de aplicativo. Este valor não é localizável. | Sim | 2 | Sim |
| descrição | cadeia (de caracteres) | Descrição destinada ao utilizador para esta ação. Este valor é localizável. | Sim | 2 | Sim |
| ícone | cadeia (de caracteres) | Ícone localizável para a ação. Esse valor é uma cadeia de caracteres ms-resource para um ícone implantado com a aplicação. | Não | 2 | Sim |
| allowedAppInvokers | string[] | Especifica uma lista de IDs de Modelo de Usuário de Aplicativo (AppUserModelIDs) que podem descobrir a ação por meio de uma chamada para GetActionsForInputs ou GetAllActions. Curingas são suportados. "*" corresponderá a todos os AppUserModelIDs. Isso é recomendado para a maioria das ações, a menos que haja um motivo específico para limitar os chamadores que podem invocar uma ação. Se allowedAppInvokers for omitido ou for uma lista vazia, nenhum aplicativo poderá descobrir a ação. Para obter mais informações sobre AppUserModelIDs, consulte Application User Model IDs | Não | 3 | Sim |
| usa IA Generativa | booleano | Especifica se a ação usa IA generativa. O valor predefinido é false. | Não | 2 | Sim |
| está disponível | booleano | Especifica se a ação está disponível para uso durante a instalação. O valor padrão é true. | Sim | 2 | Sim |
| Insumos | Entradas[] | Lista de entidades que esta ação aceita como entrada. | Sim | 2 | Sim |
| combinaçõesDeEntrada | CombinaçãoDeEntrada[] | Fornece descrições para diferentes combinações de entradas. | Sim | 2 | Sim |
| saídas | Saída[] | Se especificado, deve ser uma cadeia de caracteres vazia na versão atual. | Não | 2 | Sim |
| invocação | Invocação | Fornece informações sobre como a ação é invocada. | Sim | 2 | Sim |
| classificaçãoEtáriaDoConteúdo | cadeia (de caracteres) | Um nome de campo do UserAgeConsentGroup que especifica a classificação etária apropriada para a ação. Os valores permitidos são "Criança", "Menor", "Adulto". Se nenhum valor for especificado, o comportamento padrão permitirá o acesso a todas as idades. | Não | 2 | Sim |
Resultado
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| nome | cadeia (de caracteres) | O nome da variável da entidade. Este valor não é localizável. | Sim | 2 | Sim |
| tipo | cadeia (de caracteres) | Um nome de campo da enumeração ActionEntityKind especificando o tipo de entidade. Este valor não é localizável. Os valores permitidos são "None", "Document", "File", "Photo", "Text", "StreamingText", "RemoteFile", "Table", "Contact". | Sim | 2 | Sim |
A versão do esquema e o suporte ao PWA variam para os diferentes valores da propriedade kind . Consulte a entrada para cada tipo de entidade para obter detalhes.
Combinação de Entrada
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| Insumos | string[] | Uma lista de nomes de entrada para uma invocação de ação. A lista pode estar vazia. | Sim | 2 | Sim |
| descrição | cadeia (de caracteres) | Descrição da invocação da ação. Este valor é localizável. | Não | 2 | Sim |
| onde | string[] | Uma ou mais declarações condicionais que determinam as condições em que a ação se aplica. | Não | 2 | Sim |
Invocação
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| tipo | cadeia (de caracteres) | O tipo de instanciação para a ação. Os valores permitidos são "uri" e "com". | Sim | 2 | Apenas "uri". |
| URI | cadeia (de caracteres) | O URI absoluto para o lançamento da ação. O uso da entidade pode ser incluído na cadeia de caracteres. Um parâmetro token=${$.Token} especial de cadeia de caracteres de consulta reservada pode ser adicionado ao URI para permitir que ações validem que foram invocadas pelo Action Runtime. Para obter mais informações, consulte Usar o $. Parâmetro de cadeia de caracteres de consulta URI de token. |
Sim, para ações instanciadas de URI. | 2 | Sim |
| CLSID | cadeia (de caracteres) | O ID de classe para a classe COM que implementa IActionProvider. | Sim, para ações COM. | 2 | Não |
| dados de entrada | Pares nome/valor JSON | Uma lista de pares nome/valor especificando dados adicionais para ações de URI. | Não. Válido apenas para ações de URI. | 2 | Sim |
Enumeração ActionEntityKind
A enumeração ActionEntityKind especifica os tipos de entidades suportadas pelas Ações de Aplicativo no Windows. No contexto de uma definição de ação JSON, os tipos de entidade são literais de texto que são sensíveis a maiúsculas e minúsculas.
| String tipo de entidade | Descrição | Versão | PWA |
|---|---|---|---|
| "Ficheiro" | Inclui todos os tipos de arquivo que não são suportados por tipos de entidade de foto ou documento. | 2 | Apenas entrada. |
| "Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem suportadas são ".jpg", ".jpeg" e ".png" | 2 | Apenas entrada. |
| "Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento suportadas são ".doc", ".docx", ".pdf", ".txt" | 2 | Apenas entrada. |
| "Texto" | Suporta cadeias de texto. | 2 | Apenas entrada. |
| StreamingText | Suporta cadeias de caracteres de texto transmitidas incrementalmente. | 2 | Falso |
| "Arquivo remoto" | Suporta metadados para permitir ações para validar e recuperar arquivos de backup de um serviço de nuvem. | 2 | Apenas entrada. |
| Tabela | Uma tabela 2D de valores de cadeia de caracteres que é serializada para uma matriz unidimensional de cadeias de caracteres. | 3 | Não. |
| Contacto | Um conjunto de dados que representam um contato. | 3 | Apenas entrada. |
Propriedades da entidade
Cada tipo de entidade suporta uma ou mais propriedades que fornecem dados de instância para a entidade. Os nomes de propriedade da entidade diferençiam maiúsculas de minúsculas.
O exemplo a seguir ilustra como as entidades são referenciadas na cadeia de caracteres de consulta para ações que são iniciadas por meio da ativação de URI:
...?param1=${entityName.property1}¶m2=${entityName.property2}
Para obter informações sobre como usar propriedades de entidade para criar seções condicionais na definição de ação JSON, consulte Cláusulas Where.
Propriedades da entidade de arquivo
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| "Nome do arquivo" | cadeia (de caracteres) | O nome do arquivo. | 2 | Apenas entrada. |
| "Caminho" | cadeia (de caracteres) | O caminho do arquivo. | 2 | Apenas entrada. |
| "Extensão" | cadeia (de caracteres) | A extensão do arquivo. | 2 | Apenas entrada. |
Propriedades da entidade do documento
A entidade Document suporta as mesmas propriedades que File.
Propriedades da entidade fotográfica
A entidade Photo suporta todas as propriedades de File , além das seguintes propriedades.
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| ÉCaminhoTemporário | booleano | Um valor que especifica se a foto é armazenada em um caminho temporário. Por exemplo, essa propriedade é verdadeira para fotos armazenadas na memória de um bitmap, não armazenadas permanentemente em um arquivo. | 2 | Apenas entrada. |
Propriedades da entidade de texto
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| "Texto" | cadeia (de caracteres) | O texto integral. | 2 | Apenas entrada. |
| Texto Curto | cadeia (de caracteres) | Uma versão abreviada do texto, adequada para exibição da interface do usuário. | 2 | Apenas entrada. |
| "Título" | cadeia (de caracteres) | O título do texto. | 2 | Apenas entrada. |
| "Descrição" | cadeia (de caracteres) | Uma descrição do texto. | 2 | Apenas entrada. |
| "Duração" | duplo | O comprimento do texto em caracteres. | 2 | Apenas entrada. |
| "Contagem de palavras" | duplo | O número de palavras no texto. | 2 | Apenas entrada. |
Propriedades da entidade StreamingText
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| "Formato de texto" | cadeia (de caracteres) | O formato do texto de streaming. Os valores suportados são "Plain", "Markdown". | 2 | Não |
Propriedades da entidade RemoteFile
| Propriedade | Tipo | Descrição | Versão | PWA |
|---|---|---|---|---|
| ID da Conta | cadeia (de caracteres) | O identificador da conta de serviço de nuvem associada ao arquivo remoto. | 2 | Apenas entrada. |
| TipoDeConteúdo | cadeia (de caracteres) | O tipo MIME do arquivo remoto. | 2 | Apenas entrada. |
| "DriveId" | cadeia (de caracteres) | O identificador da unidade remota associada ao arquivo remoto. | 2 | Apenas entrada. |
| "Extensão" | cadeia (de caracteres) | A extensão do arquivo remoto. | 2 | Apenas entrada. |
| "FileId" | cadeia (de caracteres) | O identificador do arquivo remoto. | 2 | Apenas entrada. |
| "FileKind" | RemoteFileKind | O tipo de arquivo remoto. | 2 | Apenas entrada. |
| "FonteId" | cadeia (de caracteres) | O identificador do serviço de nuvem que hospeda o arquivo remoto. | 2 | Apenas entrada. |
| "SourceUri" | cadeia (de caracteres) | O URI do arquivo remoto. | 2 | Apenas entrada. |
Enumeração RemoteFileKind
A enumeração RemoteFileKind especifica os tipos de arquivos com suporte para a entidade RemoteFile .
| String tipo de entidade | Descrição | Versão |
|---|---|---|
| "Ficheiro" | Inclui todos os tipos de arquivo que não são suportados por tipos de entidade de foto ou documento. | 2 |
| "Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem suportadas são ".jpg", ".jpeg" e ".png" | 2 |
| "Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento suportadas são ".doc", ".docx", ".pdf", ".txt" | 2 |
Propriedades da entidade da tabela
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| "Contagem de linhas" | número inteiro | O número de linhas na tabela. | Sim | 3 | Não |
| ContagemDeColunas | número inteiro | O número de colunas na tabela. | Sim | 3 | Não |
| "Título" | cadeia (de caracteres) | O título da tabela. | Não | 3 | Não |
| "Descrição" | cadeia (de caracteres) | A descrição da tabela. | Não | 3 | Não |
Propriedades da entidade de contato
| Propriedade | Tipo | Descrição | Obrigatório | Versão | PWA |
|---|---|---|---|---|---|
| "E-mail" | cadeia (de caracteres) | O endereço de e-mail do contato. | Não | 3 | Apenas entrada. |
| "Nome completo" | número inteiro | O nome completo do contato. | Não | 3 | Apenas entrada. |
| "Título" | cadeia (de caracteres) | O título do contacto. | Não | 3 | Apenas entrada. |
| "Descrição" | cadeia (de caracteres) | A descrição do contacto. | Não | 3 | Apenas entrada. |
Cláusulas WHERE
O formato JSON de definição de ação suporta cláusulas where que podem ser usadas para implementar lógica condicional, como especificar que uma ação deve ser invocada somente quando uma propriedade de entidade tem um valor especificado.
Os operadores a seguir podem ser usados com cláusulas where .
| Operador | Descrição |
|---|---|
| == | Igualdade |
| ~= | Igualdade que não diferencia maiúsculas de minúsculas |
| != | Desigualdade |
| < | Menos de |
| <= | Menor que ou igual a |
| > | Maior que |
| >= | Maior ou igual a |
| || | OU Lógico |
| && | Lógica E |
Quando as cláusulas utilizam o seguinte formato:
"where": [
"${<property_accessor>} <operator> <value>"
]
O exemplo a seguir mostra uma cláusula where que é avaliada como true se uma entidade File tiver a extensão de arquivo ".txt".
"where": [
"${File.Extension} ~= \".txt\""
]
Várias cláusulas WHERE podem ser combinadas usando os operadores lógicos E e OU.
"where": [
"${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\""
]