Configurar um projeto do Apps Script para chamar a API Google Forms diretamente por uma chamada REST exige algumas etapas. Supondo que você já tenha configurado um projeto do Google Cloud, faça o seguinte:
- Crie um novo projeto do Apps Script.
- Mude o número do projeto associado do Google Cloud para corresponder ao projeto que você ativou para a API Forms.
- Edite o arquivo de manifesto (
appsscript.json) para adicionar os escopos OAuth necessários. - Adicione o código do Apps Script para buscar um token OAuth e fazer uma chamada REST usando o token.
Criar e configurar um novo projeto do Apps Script
- Usando a mesma Conta do Google que você usou para configurar seu projeto do Google Cloud, acesse o Painel do Apps Script e clique em Novo projeto.
- Com o projeto aberto, clique em Configurações do projeto.
- Marque a caixa de seleção Mostrar arquivo de manifesto "appsscript.json" no editor.
- Na seção Projeto do Google Cloud Platform (Google Cloud), clique em Mudar projeto e insira o número do projeto do Google Cloud que você configurou para a API Forms.
Seu projeto do Apps Script agora está configurado para acessar a API Forms. A próxima etapa obrigatória é adicionar os escopos OAuth adequados.
Adicionar escopos do OAuth
Para gerar um token do OAuth com escopo adequado no Apps Script, defina os escopos necessários no arquivo de manifesto do projeto.
- No editor, abra
appsscript.json. Adicione os escopos ao corpo do manifesto.
{ ... "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/forms.body", "https://www.googleapis.com/auth/forms.body.readonly", "https://www.googleapis.com/auth/forms.responses.readonly" ], ... }Clique em Salvar projeto e corrija os erros de sintaxe, se necessário. Agora, seu projeto pode chamar a API Forms usando uma chamada REST.
Adicionar código do Apps Script para chamar a API
Antes de escrever o código para chamar um formulário, identifique um formulário de sua propriedade que tenha respostas e anote o ID dele. O ID do formulário pode ser encontrado no URL ao editar o formulário:
https://docs.google.com/forms/d/<FORM_ID>/edit
Para chamar a API, você vai usar uma chamada UrlFetchApp do Apps Script.
Abra Code.gs e adicione o seguinte código:
Substitua
YOUR_FORM_IDpelo valor que você anotou anteriormente.Exemplo:
var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';Clique em Salvar projeto e corrija os erros de sintaxe, se necessário.
Testar o código
- Clique em Executar.
- Autorize o projeto conforme necessário usando a mesma Conta do Google de antes.
Quando ele for iniciado, você vai ver uma resposta no Registro de execução semelhante a esta:
Execution started
Calling the Forms API!
OAuth token is: ya29.a0ARrdaM8IMjtlv…
formsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses
Response from Forms.responses was: {
"responses": [
{
"responseId":"...",
"createTime": "2021-03-25T01:23:58.146Z",
"lastSubmittedTime": "2021-03-25T01:23:58.146607Z",
"answers": {
"1e9b0ead": {
"questionId": "1e9b0ead",
"textAnswers": {
"answers": [
{
"value": "Red"
}
]
}
},
"773ed8f3": {
"questionId": "773ed8f3",
"textAnswers": {
"answers": [
{
"value": "Tesla"
}
]
}
}
}
}
]
}
Execution completed
Próximas etapas
Depois de chamar a API com o Apps Script, consulte a documentação de referência e faça outros testes com chamadas para a API.