Uma biblioteca é um projeto de script cujas funções podem ser reutilizadas em outros scripts.
Acessar uma biblioteca
Para incluir uma biblioteca no seu projeto, é necessário ter pelo menos acesso de visualização a ela. Se você não for o autor da biblioteca que quer incluir, entre em contato com ele e solicite acesso.
Você precisa do ID do script da biblioteca que quer incluir. Quando você tiver acesso à biblioteca, poderá encontrar o ID do script na página Configurações do projeto
.Adicionar uma biblioteca ao projeto de script
- À esquerda do editor do Apps Script, ao lado de "Bibliotecas", clique em Adicionar uma biblioteca .
- No campo "ID do script", cole o ID do script da biblioteca.
- Clique em Pesquisar.
- Clique no menu suspenso Versão e selecione a versão da biblioteca a ser usada.
- Verifique se o nome "Identificador" padrão é o que você quer usar com essa biblioteca. Esse é o nome que o script usa para
se referir à biblioteca. Por exemplo, se você a definir como
Test
, poderá chamar um método dessa biblioteca da seguinte maneira:Test.libraryMethod()
. - Clique em Adicionar.
Usar uma biblioteca
Use a biblioteca incluída como faria com um serviço padrão. Por
exemplo, se Test
for o identificador da biblioteca, digite
Test
imediatamente seguido de um período para ver a lista de métodos na biblioteca.
Para abrir a documentação de referência de uma biblioteca incluída, siga estas etapas:
À esquerda do editor de script, ao lado do nome da biblioteca, clique em Mais
> Abrir em uma nova guia.Remover uma biblioteca
À esquerda do editor de script, ao lado do nome da biblioteca, clique em Mais
> Remover > Remover biblioteca.Atualizar uma biblioteca
Você pode mudar a versão da biblioteca ou atualizar o identificador dela.
- À esquerda do editor, em "Bibliotecas", clique no nome da biblioteca.
- Faça as mudanças e clique em Salvar.
Criar e compartilhar uma biblioteca
Para usar e compartilhar seu projeto de script como uma biblioteca, siga as etapas abaixo.
- Crie uma implantação com controle de versão do script.
- Compartilhe pelo menos o acesso no nível da visualização com todos os usuários em potencial da biblioteca.
- Forneça a esses usuários o ID do script, que pode ser encontrado na página Configurações do projeto.
Práticas recomendadas
Confira algumas diretrizes a seguir ao escrever uma biblioteca:
- Escolha um nome significativo para o projeto, já que ele é usado como o identificador padrão quando a biblioteca é incluída por outras pessoas.
- Se você quiser que um ou mais métodos do script não sejam visíveis (nem
utilizados) pelos usuários da biblioteca, termine o nome do método com um
sublinha. Por exemplo,
myPrivateMethod_()
. - Somente as propriedades globais enumeráveis ficam visíveis para os usuários da biblioteca. Isso inclui declarações
de função, variáveis criadas fora de uma função com
var
e propriedades definidas explicitamente no objeto global. Por exemplo,Object.defineProperty()
comenumerable
definido comofalse
cria um símbolo que pode ser usado na biblioteca, mas que não é acessível pelos usuários. Se você quiser que os usuários da biblioteca usem o preenchimento automático do editor de script e a documentação gerada automaticamente, é necessário ter documentação no estilo JSDoc para todas as funções. Veja um exemplo:
/** * Raises a number to the given power, and returns the result. * * @param {number} base the number we're raising to a power * @param {number} exp the exponent we're raising the base to * @return {number} the result of the exponential calculation */ function power(base, exp) { ... }
Escopo de recursos
Há dois tipos de recursos quando você está trabalhando com bibliotecas: compartilhados e não compartilhados. Um recurso compartilhado significa que a biblioteca e o script de inclusão têm acesso integrado à mesma instância do recurso. O diagrama a seguir ilustra um recurso compartilhado usando o exemplo de propriedades do usuário:
Um recurso não compartilhado significa que a biblioteca e o script de inclusão têm acesso integrado apenas à instância do recurso. No entanto, uma biblioteca pode oferecer acesso aos recursos não compartilhados com funções explícitas que operam neles. Veja o exemplo de uma função que você incluiria na biblioteca para expor as propriedades de script:
function getLibraryProperty(key) {
return ScriptProperties.getProperty(key);
}
O diagrama a seguir ilustra um recurso não compartilhado usando o exemplo de propriedades do script:
Esta tabela lista os recursos compartilhados e não compartilhados para sua referência:
Recurso | Compartilhada* | Não compartilhado** | Observações |
---|---|---|---|
Bloquear | A mesma instância fica visível para todos, inclusive os scripts, quando criada na biblioteca. | ||
Propriedades do script | A mesma instância fica visível para todos, incluindo scripts, quando criada na biblioteca. | ||
Cache | A mesma instância fica visível para todos, incluindo scripts, quando criada na biblioteca. | ||
Gatilhos | Gatilhos simples criados na biblioteca não são acionados pelo script de inclusão. | ||
ScriptApp | |||
UiApp | |||
Propriedades do usuário | |||
Registrador e transcrição de execução | |||
Sites, planilhas e outros contêineres | Uma chamada para getActive() retorna o contêiner do script de inclusão. |
||
MailApp e GmailApp | |||
* Isso significa que a biblioteca não tem a própria instância do
recurso/recurso e, em vez disso, usa a criada pelo script
que a invocou.
** Isso significa que a biblioteca tem a própria instância do recurso/recurso e que todos os scripts que usam a biblioteca compartilham e têm acesso a essa mesma instância. |
Testar uma biblioteca
Para testar sua biblioteca, use a implantação principal. Qualquer pessoa que tenha acesso de editor ao script pode usar a implantação principal.
Depurar uma biblioteca
Quando você usa o depurador em um projeto que inclui uma biblioteca, é possível entrar em uma função da biblioteca incluída. O código aparece no depuração no modo somente leitura e na versão correta.