Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As funções personalizadas que não usam um tempo de execução compartilhado dependem de um tempo de execução somente em JavaScript. Esse tempo de execução é otimizado para cálculo rápido, mas tem menos APIs disponíveis.
Observação
É recomendável usar funções personalizadas com um tempo de execução compartilhado, a menos que você tenha um motivo específico para não usar um tempo de execução compartilhado. Para obter mais informações sobre runtimes, consulte Runtimes em Suplementos do Office.
Esse runtime somente JavaScript fornece acesso a APIs no OfficeRuntime namespace que podem ser usadas por funções personalizadas e pelo painel de tarefas (que é executado em um runtime diferente) para armazenar dados.
Solicitar dados externos
É possível solicitar dados externos em uma função personalizada por meio de uma API, como a API Fetch, ou por meio de um objeto XmlHttpRequest (XHR), uma API Web padrão que envia solicitações HTTP para interagir com os servidores.
Lembre-se de que as funções personalizadas devem usar medidas de segurança adicionais ao fazer XmlHttpRequests, exigindo Política de Mesmo Origem e CORS simples.
Uma implementação simples de CORS não pode usar cookies e só dá suporte a métodos simples (, POST). A CORS simples aceita cabeçalhos simples com nomes de campos Accept, Accept-Language, Content-Language. Você também pode usar um Content-Type cabeçalho em CORS simples, desde que o tipo de conteúdo seja application/x-www-form-urlencoded, text/plain, ou multipart/form-data.
Armazenar e acessar dados
Em uma função personalizada que não usa um runtime compartilhado, você pode armazenar e acessar dados usando o objeto OfficeRuntime.storage . O Storage objeto é um sistema de armazenamento de chave-valor persistente, não criptografado, que fornece uma alternativa ao localStorage, que não pode ser usado por funções personalizadas que usam o tempo de execução somente JavaScript. O Storage objeto oferece 10 MB de dados por domínio. Os domínios podem ser compartilhados por mais de um suplemento.
O Storage objeto é uma solução de armazenamento compartilhado, o que significa que várias partes de um suplemento podem acessar os mesmos dados. Por exemplo, os Storage tokens para autenticação do usuário podem ser armazenados no objeto porque ele pode ser acessado por uma função personalizada (usando o runtime somente JavaScript) e um painel de tarefas (usando um runtime completo do WebView). Da mesma forma, se dois suplementos compartilharem o mesmo domínio (por exemplo, www.contoso.com/addin1, www.contoso.com/addin2), eles também poderão compartilhar informações entre si por meio do Storage objeto. Observe que os suplementos com subdomínios diferentes terão instâncias diferentes de Storage (por exemplo, subdomain.contoso.com/addin1, differentsubdomain.contoso.com/addin2).
Como o Storage objeto pode ser um local compartilhado, é importante perceber que é possível substituir pares chave-valor.
Os métodos a seguir estão disponíveis no Storage objeto.
getItemgetItemssetItemsetItemsremoveItemremoveItemsgetKeys
Observação
Não há nenhum método para limpar todas as informações (como clear). Em vez disso, use removeItems para remover várias entradas de uma só vez.
Exemplo de OfficeRuntime.storage
O exemplo de código a seguir chama o OfficeRuntime.storage.setItem método para definir uma chave e um valor em storage.
function StoreValue(key, value) {
return OfficeRuntime.storage.setItem(key, value).then(function (result) {
return "Success: Item with key '" + key + "' saved to storage.";
}, function (error) {
return "Error: Unable to save item with key '" + key + "' to storage. " + error;
});
}
Comparar com o tempo de execução compartilhado
Precisa de integração com a interface do usuário ou Office.js objetos e eventos? Mova essas funções para um runtime compartilhado.
Próximas etapas
Saiba como depurar funções personalizadas.